/* Reuse the original app's Satoshi typography, blue gradient, surfaces and radii. */
body.knowledge-workspace-enabled {
  --kw-canvas-background: linear-gradient(180deg, var(--accent-soft-bg), transparent 70%);
  --kw-page-top: 34px;
  --kw-page-inline: 42px;
  --kw-breadcrumb-space: 27px;
}
body.light.knowledge-workspace-enabled {
  --kw-canvas-background: linear-gradient(180deg, #e6edff 0%, #eef3ff 35%, #f8faff 72%, #fefeff 100%);
}
.kw-shell-toggle { display:none; align-items:center; justify-content:center; flex:none; width:36px; height:36px; padding:0; border:1px solid var(--border-md); border-radius:8px; background:var(--surface); color:var(--text-soft); cursor:pointer; }
.kw-shell-toggle svg { width:19px; height:19px; }
.kw-shell-toggle:hover { color:var(--text); background:var(--accent-soft-bg); border-color:var(--blue-ui-border); }
@media(min-width:901px) {
  body.knowledge-workspace-enabled .kw-shell-toggle { display:inline-flex; }
  body.knowledge-workspace-enabled #sidebar { overflow:hidden; flex-shrink:0; }
  body.knowledge-workspace-enabled #sidebar > * { width:calc(var(--sidebar-w) - 1px); min-width:calc(var(--sidebar-w) - 1px); }
  body.knowledge-workspace-enabled.kw-shell-motion #sidebar { transition:width .24s cubic-bezier(.2,.8,.2,1),min-width .24s cubic-bezier(.2,.8,.2,1),border-right-width .24s cubic-bezier(.2,.8,.2,1),visibility 0s; }
  body.knowledge-workspace-enabled.kw-shell-motion #sidebar > * { transition:opacity .16s ease,transform .24s cubic-bezier(.2,.8,.2,1); }
  body.knowledge-workspace-enabled.kw-sidebar-collapsed #sidebar { width:0; min-width:0; border-right-width:0; visibility:hidden; }
  body.knowledge-workspace-enabled.kw-shell-motion.kw-sidebar-collapsed #sidebar { transition-delay:0s,0s,0s,.24s; }
  body.knowledge-workspace-enabled.kw-sidebar-collapsed #sidebar > * { opacity:0; transform:translateX(-12px); }
}
@media(prefers-reduced-motion:reduce) {
  body.knowledge-workspace-enabled.kw-shell-motion #sidebar,
  body.knowledge-workspace-enabled.kw-shell-motion #sidebar > * { transition:none !important; }
}
body.knowledge-workspace-enabled .sb-top,
body.knowledge-workspace-enabled .sb-scroll-area > .sb-nav > .edition-locked,
body.knowledge-workspace-enabled .sb-library-group,
body.knowledge-workspace-enabled .sb-utilnav,
body.knowledge-workspace-enabled #mobile-bottom-nav {
  display: none !important;
}
body.knowledge-workspace-enabled .sb-scroll-area > .sb-divider {
  display: none;
}
body.knowledge-workspace-enabled .kw-nav {
  padding: 20px 0 10px;
}
body.knowledge-workspace-enabled .kw-nav-item {
  width: 100%;
  margin: 4px 0;
  padding: 11px 15px;
  font-size: 13px;
}
.kw-nav-item svg {
  width: 17px;
  height: 17px;
  flex: none;
}
.kw-nav-item.active {
  color: var(--text);
  background: var(--accent-soft-bg-strong);
}
.kw-nav-item[data-kw-view="chat"] {
  margin-bottom: 15px;
}
.kw-nav-count {
  margin-left: auto;
  font-size: 11px;
}
#view-knowledge > .knowledge-drive-scroll[hidden],
#knowledge-workspace[hidden] {
  display: none !important;
}
#knowledge-workspace {
  height: 100%;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  color: var(--text);
}
.kw [hidden] {
  display: none !important;
}
.kw-settings [hidden] { display: none !important; }
.kw svg,
.kw-dialog svg,
.kw-mobile-nav svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.kw-scroll {
  flex: 1;
  min-width: 0;
  min-height: 0;
  overflow: auto;
  overflow-y: scroll;
  scrollbar-gutter: stable;
  padding: var(--kw-page-top) var(--kw-page-inline) 60px;
  background: var(--kw-canvas-background);
}
.kw-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 11px;
  min-height: 19px;
  line-height: 19px;
  margin-bottom: var(--kw-breadcrumb-space);
}
.kw-breadcrumb > span.sb-nav-mind-icon {
  width: 17px;
  height: 19px;
}
.kw-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 28px;
}
.kw h2,
.kw-dialog h2 {
  font-family: var(--font-head);
  font-size: 30px;
  font-weight: 650;
  letter-spacing: -0.8px;
  line-height: 1.25;
}
.kw-heading p {
  margin-top: 9px;
  color: var(--muted);
  font-size: 14px;
}
.kw h3,
.kw-dialog h3 {
  color: var(--text);
  font-size: 16px;
  font-weight: 650;
}
.kw-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-md);
  background: var(--surface);
  color: var(--text);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.kw-button:hover {
  background: var(--surface-2);
}
.kw-button.primary {
  color: white;
  background: var(--blue-ui-bg);
  border-color: var(--blue-ui-border);
  box-shadow: var(--blue-ui-shadow);
}
.kw-button.primary:hover {
  background: var(--blue-ui-bg-hover);
}
.kw-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: var(--text-soft);
  border: 1px solid var(--border-md);
  border-radius: 9px;
  background: var(--surface);
}
.kw-icon-button:hover {
  color: var(--blue);
  border-color: var(--blue);
  background: var(--accent-soft-bg);
}
.kw-icon-button.is-approved {
  color: #56c5a1;
  background: rgba(37, 148, 111, 0.12);
  border-color: rgba(37, 148, 111, 0.25);
}

.kw-connection-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 18px;
  margin-bottom: 24px;
  border: 1px solid var(--border-md);
  border-radius: 12px;
  background: var(--surface-2);
}
.kw-connection-note strong {
  font-size: 13px;
}
.kw-connection-note p {
  font-size: 12px;
  margin-top: 4px;
  color: var(--muted);
}
.kw-muted,
.kw-empty p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}
.kw-loading {
  margin: 60px auto;
  text-align: center;
  color: var(--muted);
}
.kw-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 24px 0 18px;
}
.kw-section-head > span {
  color: var(--muted);
  font-size: 12px;
}
.kw-panel {
  padding: 24px;
  background: var(--surface);
  border: 1px solid var(--border-md);
  border-radius: var(--radius-lg);
}
.kw-panel .kw-section-head {
  margin-top: 0;
}
.kw-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  text-align: center;
  padding: 65px 20px;
  border: 1px dashed var(--border-md);
  border-radius: 14px;
}
.kw-empty p {
  max-width: 380px;
}
.kw-empty-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  color: var(--blue);
  background: var(--accent-soft-bg);
  border: 1px solid var(--border-md);
  border-radius: 14px;
}
.kw-empty-icon svg {
  width: 24px;
  height: 24px;
}
.kw-empty .kw-button {
  margin-top: 10px;
}
.kw-toolbar {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 23px 0;
  flex-wrap: wrap;
}
.kw-search,
.kw-select-label {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--border-md);
  border-radius: 11px;
  background: var(--surface);
  min-height: 40px;
  color: var(--muted);
  padding: 0 12px;
}
.kw-search {
  flex: 1;
  min-width: 180px;
}
.kw-search input,
.kw-select-label select {
  width: 100%;
  color: var(--text);
  font: inherit;
  background: transparent;
  border: 0;
  outline-offset: 3px;
  min-height: 38px;
}
.kw-search input::placeholder {
  color: var(--muted);
}
.kw select option {
  background: var(--surface);
  color: var(--text);
}
.kw-segments {
  display: flex;
  align-items: center;
  padding: 4px;
  gap: 3px;
  border: 1px solid var(--border-md);
  border-radius: 11px;
  background: var(--surface-2);
}
.kw-segments button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  border-radius: 8px;
  font-size: 12px;
  color: var(--muted);
}
.kw-segments button.active {
  background: var(--surface);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.09);
  color: var(--text);
}
.kw-segments button span {
  opacity: 0.7;
  font-size: 11px;
}
.kw-gold-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 20px 22px;
  border: 1px solid var(--border-md);
  border-radius: 14px;
  background: linear-gradient(115deg, var(--accent-soft-bg), var(--surface));
}
.kw-gold-summary > div {
  display: flex;
  align-items: center;
  gap: 14px;
}
.kw-gold-summary strong {
  font-size: 14px;
}
.kw-gold-summary p {
  margin-top: 4px;
  font-size: 12px;
  color: var(--muted);
}
.kw-gold-summary > span {
  white-space: nowrap;
  color: var(--muted);
  font-size: 12px;
}
.kw-gold-summary > span strong {
  color: var(--text);
  font-size: 22px;
  margin-right: 4px;
}
.kw-gold-mark {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--surface);
  color: var(--blue);
  border: 1px solid var(--border-md);
}
.kw-table-wrap {
  overflow: auto;
  border: 1px solid var(--border-md);
  border-radius: 14px;
}
.kw-table {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  font-size: 12px;
}
.kw-table th {
  font-weight: 500;
  font-size: 11px;
  color: var(--muted);
  padding: 14px 16px;
  white-space: nowrap;
  background: var(--surface-2);
}
.kw-table td {
  padding: 17px 16px;
  border-top: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-soft);
}
.kw-table tbody tr:hover td {
  background: var(--surface-2);
}
.kw-file-name {
  display: flex;
  gap: 12px;
  align-items: center;
  min-width: 190px;
}
.kw-file-name > svg {
  color: var(--blue);
  width: 20px;
  height: 24px;
}
.kw-file-name strong {
  display: block;
  font-size: 12px;
  color: var(--text);
  font-weight: 600;
  overflow-wrap: anywhere;
}
.kw-file-name small {
  display: block;
  font-size: 11px;
  color: var(--muted);
  margin-top: 3px;
}
.kw-row-actions {
  display: flex;
  gap: 6px;
}
.kw-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid var(--border-md);
  border-radius: 20px;
  padding: 4px 9px;
  color: var(--muted);
  font-size: 10px;
  white-space: nowrap;
}
.kw-badge i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
.kw-badge svg {
  width: 12px;
  height: 12px;
}
.kw-badge.is-approved {
  color: #56c5a1;
  background: rgba(37, 148, 111, 0.08);
  border-color: rgba(37, 148, 111, 0.2);
}
.kw-table-note {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 11px;
  justify-content: flex-end;
  margin-top: 15px;
}
.kw-table-note svg {
  width: 13px;
  height: 13px;
  margin-left: 10px;
}
.kw-table-empty {
  text-align: center;
  height: 150px;
  color: var(--muted);
}
.kw-chat-layout {
  max-width: 760px;
  min-height: calc(100% - 70px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.kw-chat-welcome {
  text-align: center;
  padding: 30px 0 44px;
  flex: 1;
}
.kw-mind-mark {
  display: block;
  width: 42px;
  height: 45px;
  margin: 0 auto 18px;
  background: var(--blue);
  mask: url("mind_head_cutout.png") center/contain no-repeat;
}
.kw-chat-welcome h2 {
  font-size: 29px;
  font-weight: 500;
}
.kw-chat-welcome > p {
  margin: 11px 0 27px;
  color: var(--muted);
  font-size: 13px;
}
.kw-starters {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  max-width: 550px;
  margin: auto;
}
.kw-starters button {
  text-align: left;
  padding: 19px;
  border: 1px solid var(--border-md);
  background: var(--surface);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  color: var(--text);
}
.kw-starters button:hover {
  border-color: var(--blue);
  transform: translateY(-1px);
}
.kw-starters svg {
  color: var(--aqua);
  margin-bottom: 12px;
}
.kw-starters strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
}
.kw-starters span {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  color: var(--muted);
  line-height: 1.6;
}
.kw-composer {
  padding: 16px;
  background: var(--surface);
  border: 1px solid var(--border-md);
  border-radius: 16px;
  box-shadow: var(--shadow-card);
}
.kw-composer:focus-within {
  border-color: var(--blue);
}
.kw-composer textarea {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text);
  resize: none;
  font-size: 13px;
  min-height: 58px;
  outline: none;
}
.kw-composer textarea::placeholder {
  color: var(--muted);
}
.kw-composer-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.kw-composer-tools label {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  max-width: calc(100% - 65px);
}
.kw-composer-tools select {
  max-width: 100%;
  font-size: 11px;
  color: var(--text-soft);
  border: 0;
  background: transparent;
}
.kw-send {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--blue-ui-bg);
  color: white;
}
.kw-send svg {
  transform: rotate(-90deg);
}
.kw-chat-caption {
  color: var(--muted);
  text-align: center;
  font-size: 10px;
  margin-top: 12px;
}
.kw-query-status {
  color: var(--muted);
  font-size: 12px;
}
.kw-query-status:not(:empty) {
  margin-top: 12px;
}
.kw-chat-thread:empty {
  display: none;
}
.kw-message {
  margin: 20px 0;
  line-height: 1.8;
  font-size: 14px;
  padding: 16px 0;
  overflow-wrap: anywhere;
}
.kw-message.user {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 16px 20px;
  background: var(--surface);
}
.kw-message-author {
  display: block;
  font-size: 11px;
  font-weight: 650;
  color: var(--muted);
  margin-bottom: 7px;
}
.kw-citations {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.kw-citations button {
  display: flex;
  gap: 10px;
  align-items: center;
  color: var(--text);
  text-align: left;
  padding: 13px;
  border: 1px solid var(--border-md);
  border-radius: 12px;
  background: var(--surface);
}
.kw-citations button > span {
  flex: 1;
}
.kw-citations strong,
.kw-citations small {
  display: block;
  font-size: 11px;
}
.kw-citations small {
  color: var(--muted);
}
.kw-project-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.kw-project-card {
  position: relative;
  border: 1px solid var(--border-md);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: var(--shadow-card);
  padding: 23px;
}
.kw-project-icon {
  width: 43px;
  height: 43px;
  border: 1px solid var(--border-md);
  background: var(--accent-soft-bg);
  color: var(--blue);
  border-radius: 12px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
}
.kw-own-label {
  position: absolute;
  right: 22px;
  top: 25px;
  border: 1px solid var(--border-md);
  padding: 3px 9px;
  border-radius: 20px;
  font-size: 10px;
  color: var(--muted);
}
.kw-project-card > p {
  color: var(--muted);
  font-size: 12px;
  margin: 13px 0 24px;
  min-height: 38px;
}
.kw-project-card > footer {
  display: flex;
  justify-content: space-between;
  padding-top: 14px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 11px;
}
.kw-project-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 17px;
}
.kw-project-card h3 { overflow-wrap: anywhere; }
.kw-project-card > p { overflow-wrap: anywhere; }
.kw-project-actions button:disabled { opacity: .45; cursor: not-allowed; }
body:not(.light) .kw-project-actions button { color: var(--text-soft); }
.kw-project-note { margin: -5px 0 24px; max-width: 680px; }
.kw-chat-history { margin: 2px 10px 12px 30px; padding-left: 12px; border-left: 1px solid var(--border-md); }
.kw-chat-history > h2 { margin: 0; }
.kw-history-toggle { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 34px; padding: 9px 0; border: 0; background: transparent; color: var(--muted); font-size: 11px; font-weight: 500; text-align: left; cursor: pointer; }
.kw-history-toggle:hover { color: var(--text); }
.kw-history-toggle:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 4px; }
.kw-history-toggle > svg { width: 14px; height: 14px; flex: none; }
.kw-history-toggle[aria-expanded="false"] > svg { transform: rotate(-90deg); }
.kw-history-body[hidden] { display: none; }
.kw-history-list { max-height: 220px; overflow-y: auto; scrollbar-gutter: stable; }
.kw-history-item { display: flex; align-items: center; gap: 8px; padding: 9px 10px; margin: 2px 0; width: 100%; min-width: 0; text-align: left; color: var(--text-soft); border: 1px solid transparent; border-radius: 9px; }
.kw-history-item > svg { width: 14px; height: 14px; flex: none; color: var(--muted); }
.kw-history-item > span { min-width: 0; flex: 1; }
.kw-history-item strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11px; font-weight: 500; }
.kw-history-item small { display: block; margin-top: 4px; font-size: 9px; color: var(--muted); }
.kw-history-item:hover { background: var(--surface-2); }
.kw-history-item.active { background: var(--accent-soft-bg); border-color: var(--border-md); }
.kw-history-empty, .kw-history-error { color: var(--muted); font-size: 10px; line-height: 1.7; padding: 8px 0; }
.kw-history-more { color: var(--text-soft); font-size: 10px; padding: 10px 0; }
.kw-history-dialog-list { padding: 16px 24px 24px; }
.kw-history-dialog-list .kw-history-list { max-height: 55vh; }
.kw-chat-history-toolbar { display: none; }
.kw-storage-connection-layout { display: block; }
.kw-fulltext-panel { border: 1px solid var(--border-md); border-radius: 16px; padding: 26px; background: var(--surface); }
.kw-fulltext-intro { display: flex; gap: 16px; align-items: center; margin-bottom: 24px; }
.kw-fulltext-intro .kw-empty-icon { width: 42px; height: 42px; flex: none; }
.kw-fulltext-intro h3 { font-size: 17px; line-height: 1.4; }
.kw-fulltext-intro p { font-size: 12px; line-height: 1.7; color: var(--text-soft); margin-top: 6px; }
#kw-fulltext-form.kw-fulltext-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: stretch; }
.kw-fulltext-filters { grid-column: 1/-1; display: flex; align-items: end; justify-content: space-between; gap: 16px; border-top: 1px solid var(--border); padding-top: 16px; }
.kw-fulltext-filters .kw-field { margin: 0; }
.kw-fulltext-filters > span { color: var(--muted); font-size: 11px; padding-bottom: 10px; }
.kw-search-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 28px 0 16px; }
.kw-search-results-heading h3 { font-size: 14px; }
.kw-search-empty { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 14px; text-align: center; padding: 40px 24px; border: 1px solid var(--border-md); border-radius: 16px; background: var(--surface); margin-top: 22px; }
.kw-search-empty h3 { font-size: 17px; }
.kw-search-empty p { font-size: 12px; color: var(--text-soft); line-height: 1.8; max-width: 470px; }
.kw-search-results .kw-search-empty { margin-top: 0; }
.kw-search-result-name { display: flex; min-width: 0; align-items: center; gap: 10px; }
.kw-search-result-name > svg { width: 20px; height: 20px; flex: none; color: var(--text-soft); }
.kw-search-result-name h3 { overflow-wrap: anywhere; }
.kw-search-result mark { background: var(--accent-soft-bg); color: var(--text); padding: 1px 3px; border-radius: 3px; }
@media (max-height:780px) { .kw-chat-history .kw-history-list { max-height: 150px; } }
@media (max-width:768px) {
  .kw-chat-history-toolbar { display: flex; justify-content: flex-end; margin-bottom: 10px; flex: none; }
  .kw-chat-history-toolbar .kw-button { font-size: 11px; padding: 8px 12px; min-height: 34px; }
  .kw-fulltext-panel { padding: 18px; }
  .kw-fulltext-intro { align-items: flex-start; gap: 12px; }
  #kw-fulltext-form.kw-fulltext-form { grid-template-columns: minmax(0,1fr); }
  .kw-fulltext-filters { flex-direction: column; align-items: stretch; gap: 8px; }
  .kw-fulltext-filters > span { padding-bottom: 0; }
}
.kw-selected-project { margin-bottom: 24px; padding: 20px 24px; border: 1px solid var(--border-md); border-radius: 14px; background: var(--surface); }
.kw-selected-project > span { font-size: 11px; color: var(--muted); }
.kw-selected-project > h3 { margin-top: 8px; font-size: 19px; line-height: 1.5; overflow-wrap: anywhere; }
.kw-selected-project > p { margin: 8px 0; color: var(--text-soft); font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.kw-selected-project > button { margin-top: 14px; }
.kw-project-actions button,
.kw-text-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--blue);
  font-size: 12px;
}
.kw-import-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(220px, 1fr);
  gap: 30px;
}
.kw-upload-target { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 13px 15px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-2); color: var(--text-soft); }
.kw-upload-target > svg { width: 18px; height: 18px; flex: none; color: var(--blue); }
.kw-upload-target > strong { font-size: 12px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.kw-document-notice { margin: 16px 0; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--accent-soft-bg); }
.kw-document-notice > strong { display: block; font-size: 12px; color: var(--text); }
.kw-document-notice > p, .kw-document-connection > p { margin: 8px 0 0; font-size: 12px; line-height: 1.8; color: var(--text-soft); }
.kw-document-connection > h3 { margin: 20px 0 0; font-size: 20px; line-height: 1.4; }
.kw-document-connection > .kw-upload-target { margin-top: 24px; }
.kw-document-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.kw-dropzone[aria-disabled="true"] { border-style: solid; background: var(--surface-2); }
.kw-dropzone[aria-disabled="true"] > span { opacity: .6; }
.kw-ingestion-status { display: inline-flex; flex-direction: column; gap: 7px; max-width: 100%; min-width: 110px; color: var(--text-soft); font-size: 11px; line-height: 1.5; }
.kw-ingestion-status.is-ready { color: var(--blue); }
.kw-ingestion-status.is-failed { color: var(--text); }
.kw-ingestion-status > progress { appearance: none; width: 100%; max-width: 150px; height: 5px; border: 0; border-radius: 4px; overflow: hidden; background: var(--surface-3); accent-color: var(--blue); }
.kw-ingestion-status > progress::-webkit-progress-bar { background: var(--surface-3); }
.kw-ingestion-status > progress::-webkit-progress-value { background: var(--blue); }
.kw-ingestion-status > progress::-moz-progress-bar { background: var(--blue); }
.kw-file-name .kw-ingestion-status { margin-top: 6px; }
.kw-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 18px 0;
  font-size: 12px;
  color: var(--text-soft);
}
.kw-field input,
.kw-field select,
.kw-field textarea {
  border: 1px solid var(--border-md);
  border-radius: 9px;
  background: var(--surface);
  color: var(--text);
  padding: 10px 12px;
  font-size: 13px;
  min-width: 0;
}
.kw-field textarea {
  resize: none;
}
.kw-dropzone {
  border: 1px dashed var(--border-md);
  border-radius: 13px;
  padding: 35px 16px;
  text-align: center;
  margin: 23px 0 15px;
  background: var(--surface-2);
}
.kw-dropzone.drag-over {
  border-color: var(--blue);
  background: var(--accent-soft-bg);
}
.kw-dropzone > span {
  display: inline-flex;
  color: var(--blue);
  padding: 12px;
  border-radius: 12px;
  background: var(--accent-soft-bg);
  margin-bottom: 14px;
}
.kw-dropzone h3 {
  font-size: 15px;
}
.kw-dropzone p {
  font-size: 11px;
  color: var(--muted);
  margin: 9px 0 21px;
}
.kw-import-help {
  padding: 24px 6px;
}
.kw-eyebrow {
  display: block;
  letter-spacing: 1px;
  font-size: 10px;
  color: var(--muted);
  margin-bottom: 12px;
}
.kw-import-help ol {
  list-style: none;
  counter-reset: steps;
  margin-top: 27px;
}
.kw-import-help li {
  position: relative;
  padding-left: 36px;
  margin-bottom: 27px;
  counter-increment: steps;
}
.kw-import-help li:before {
  content: counter(steps);
  position: absolute;
  top: 0;
  left: 0;
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border-md);
  border-radius: 50%;
  color: var(--blue);
  font: 11px var(--font-mono);
}
.kw-import-help strong {
  display: block;
  font-size: 12px;
}
.kw-import-help li span {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 5px;
  line-height: 1.7;
}
.kw-import-row {
  display: flex;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid var(--border);
  padding: 15px 8px;
}
.kw-import-row > div {
  flex: 1;
}
.kw-import-row strong,
.kw-import-row small {
  display: block;
  font-size: 12px;
}
.kw-import-row small {
  color: var(--muted);
  margin-top: 3px;
}
.kw-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0;
}
.kw-metric {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 21px;
  border: 1px solid var(--border-md);
  background: var(--surface);
  border-radius: 14px;
}
.kw-metric > span {
  color: var(--text-soft);
  font-size: 12px;
}
.kw-metric > strong {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -1px;
}
.kw-metric > small {
  color: var(--muted);
  font-size: 10px;
}
.kw-dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.kw-type-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 23px 0 6px;
  font-size: 12px;
}
.kw-type-row > span {
  margin-left: auto;
  color: var(--muted);
}
.kw-type-row progress {
  width: 100%;
  height: 6px;
  accent-color: var(--blue);
  border: 0;
  border-radius: 8px;
  overflow: hidden;
}
.kw-type-row progress::-webkit-progress-bar {
  background: var(--surface-3);
}
.kw-type-row progress::-webkit-progress-value {
  background: var(--blue-ui-bg);
  border-radius: 8px;
}
.kw-next-action {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid var(--border);
  color: var(--text);
}
.kw-next-action > span {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
}
.kw-next-action strong {
  font-weight: 500;
}
.kw-dashboard-grid .kw-muted {
  margin-top: 18px;
}
.kw-recent {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 16px 8px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  color: var(--text);
}
.kw-recent > span:not(.kw-badge) {
  flex: 1;
}
.kw-recent strong,
.kw-recent small {
  display: block;
  font-size: 12px;
}
.kw-recent small,
.kw-recent time {
  color: var(--muted);
  font-size: 11px;
}
.kw-dialog {
  padding: 0;
  border: 1px solid var(--border-md);
  border-radius: 18px;
  background: var(--surface);
  color: var(--text);
  margin: auto;
  width: min(480px, calc(100vw - 32px));
  max-height: calc(100dvh - 40px);
  box-shadow: 0 24px 90px rgba(0, 0, 0, 0.25);
}
.kw-dialog.wide {
  width: min(1180px, calc(100vw - 48px));
}
.kw-dialog::backdrop {
  background: rgba(8, 16, 35, 0.5);
  backdrop-filter: blur(5px);
}
.kw-dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 26px;
  gap: 20px;
  border-bottom: 1px solid var(--border-md);
}
.kw-dialog-header h2 {
  font-size: 20px;
  letter-spacing: -0.4px;
  overflow-wrap: anywhere;
}
.kw-dialog-header .kw-eyebrow {
  margin-bottom: 6px;
}
.kw-dialog > form {
  padding: 8px 26px 25px;
}
.kw-dialog footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 25px;
}
.kw-review-layout {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
}
.kw-review-layout.preview-only {
  grid-template-columns: 1fr;
}
.kw-classification {
  padding: 24px;
  border-right: 1px solid var(--border-md);
  overflow: auto;
  max-height: 70dvh;
}
.kw-classification > p {
  color: var(--muted);
  font-size: 12px;
  margin-top: 7px;
}
.kw-preview-pane {
  padding: 20px;
  background: var(--surface-2);
  min-width: 0;
}
.kw-preview-host {
  max-height: 67dvh;
  overflow: auto;
  font-size: 12px;
  color: var(--muted);
}
.kw-preview-host pre {
  white-space: pre-wrap;
  padding: 20px;
  color: var(--text);
  background: var(--surface);
}
.kw-form-error:not(:empty) {
  color: var(--red);
  margin-top: 12px;
  font-size: 12px;
}
.kw-mobile-nav {
  display: none;
}
body.light .kw-badge.is-approved,
body.light .kw-icon-button.is-approved {
  color: #1e7457;
}
body.light .kw-nav-item.active {
  color: #214ec2;
}
body.light .kw-starters button {
  background: rgba(255, 255, 255, 0.87);
}
body.light .kw-segments button.active {
  color: #214ec2;
  background: #fff;
}
body.light .kw-gold-mark {
  color: #2457d4;
}
@media (min-width: 1600px) {
  body.knowledge-workspace-enabled {
    --kw-page-inline: 64px;
  }
}
@media (max-width: 1100px) {
  body.knowledge-workspace-enabled {
    --kw-page-top: 26px;
    --kw-page-inline: 24px;
  }
  .kw-scroll {
    padding-bottom: 45px;
  }
  .kw-metrics {
    grid-template-columns: 1fr 1fr;
  }
  .kw-import-layout {
    grid-template-columns: 1fr;
  }
  .kw-import-help {
    display: none;
  }
  .kw-select-label {
    max-width: 230px;
  }
}
@media (max-width: 768px) {
  body.knowledge-workspace-enabled {
    --kw-page-top: 20px;
    --kw-page-inline: 16px;
    --kw-breadcrumb-space: 20px;
  }
  .kw-scroll {
    padding-bottom: 90px;
  }
  .kw-heading {
    align-items: flex-start;
  }
  .kw h2 {
    font-size: 25px;
  }
  .kw-heading p {
    font-size: 12px;
  }
  .kw-heading > .kw-button {
    font-size: 0;
    width: 38px;
    padding: 8px;
  }
  .kw-project-grid,
  .kw-dashboard-grid {
    grid-template-columns: 1fr;
  }
  .kw-gold-summary {
    padding: 15px;
    flex-direction: column;
    align-items: flex-start;
  }
  .kw-table-note {
    justify-content: flex-start;
    flex-wrap: wrap;
    font-size: 10px;
  }
  .kw-toolbar {
    gap: 9px;
  }
  .kw-segments {
    width: 100%;
    justify-content: space-between;
  }
  .kw-select-label {
    max-width: none;
    flex: 1;
  }
  .kw-connection-note {
    align-items: flex-start;
    flex-direction: column;
  }
  .kw-chat-welcome {
    padding-top: 10px;
  }
  .kw-chat-welcome h2 {
    font-size: 24px;
  }
  .kw-starters {
    gap: 9px;
  }
  .kw-starters button {
    padding: 14px;
  }
  .kw-starters span {
    font-size: 10px;
  }
  .kw-composer-tools select {
    font-size: 10px;
  }
  .kw-citations {
    grid-template-columns: 1fr;
  }
  .kw-dialog.wide {
    width: calc(100vw - 20px);
  }
  .kw-review-layout {
    grid-template-columns: 1fr;
    max-height: 78dvh;
    overflow: auto;
  }
  .kw-classification {
    max-height: none;
    border-right: 0;
  }
  .kw-preview-host {
    max-height: 50dvh;
  }
  .kw-metric {
    padding: 16px;
  }
  
  .kw-recent time {
    display: none;
  }
  .kw-mobile-nav {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 40;
    background: var(--surface);
    border-top: 1px solid var(--border-md);
    padding: 8px 4px max(10px, env(safe-area-inset-bottom));
    justify-content: space-around;
  }
  .kw-mobile-nav button {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 5px 8px;
    color: var(--muted);
    font-size: 9px;
    border-radius: 9px;
  }
  .kw-mobile-nav button.active {
    color: var(--blue);
    background: var(--accent-soft-bg);
  }
  body[data-auth-state="anonymous"] .kw-mobile-nav,
  body[data-auth-state="checking"] .kw-mobile-nav {
    display: none;
  }
}
/* Compact laptop layout keeps the composer in view, as in the original chat. */
body.light .kw-starters button,
body.light .kw-project-card,
body.light .kw-composer {
  box-shadow: 0 9px 24px rgba(24, 42, 79, 0.07);
}
.kw-classification footer {
  position: sticky;
  bottom: -24px;
  padding: 14px 0;
  margin-top: 12px;
  background: var(--surface);
  border-top: 1px solid var(--border);
}
.kw-preview-host .pdf-viewer-pages {
  padding: 0;
}
.kw-preview-host .pdf-page {
  margin: 0;
  padding: 0;
  border: 0;
}
@media (min-width: 769px) and (max-height: 820px) {
  body.knowledge-workspace-enabled {
    --kw-page-top: 20px;
    --kw-breadcrumb-space: 14px;
  }
  .kw-chat-scroll {
    padding-bottom: 20px;
  }
  .kw-chat-welcome {
    padding: 5px 0 22px;
  }
  .kw-mind-mark {
    width: 30px;
    height: 32px;
    margin-bottom: 12px;
  }
  .kw-chat-welcome h2 {
    font-size: 25px;
  }
  .kw-chat-welcome > p {
    margin: 9px 0 18px;
  }
  .kw-starters button {
    padding: 13px 17px;
  }
  .kw-starters svg {
    margin-bottom: 6px;
  }
  .kw-starters span {
    margin-top: 3px;
  }
  .kw-composer {
    padding: 12px 16px;
  }
  .kw-composer textarea {
    min-height: 45px;
  }
}
@media (max-width: 768px) {
  body.knowledge-workspace-enabled:not(.mobile-drawer-open) #sidebar { box-shadow:none; }
  .kw-dashboard-grid > *, .kw-metrics > *, .kw-recent > span { min-width:0; }
  .kw-recent strong { overflow-wrap:anywhere; }
  .kw-table, .kw-table tbody { display:block; width:100%; }
  .kw-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .kw-table tr { display:grid; grid-template-columns:minmax(0,1fr) auto; padding:12px 0; border-bottom:1px solid var(--border); background:var(--surface); }
  .kw-table td { border:0; padding:5px 12px; }
  .kw-table td:first-child { grid-column:1 / -1; padding-bottom:10px; }
  .kw-table td:nth-child(2), .kw-table td:nth-child(3), .kw-table td:nth-child(4) { grid-column:1; font-size:11px; }
  .kw-table td:nth-child(5) { display:none; }
  .kw-table td:last-child { grid-column:2; grid-row:2 / 5; align-self:center; }
  .kw-row-actions { flex-direction:column; }
  .kw-table .kw-table-empty { grid-column:1 / -1; grid-row:auto; display:block; }
  .kw-file-name { min-width:0; }
}

/* Chat files stay beside the question, with an explicit source selection. */
.kw-chat-attachments:empty { display: none; }
.kw-chat-attachments { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.kw-chat-attachments > p { width: 100%; margin: 0; font-size: 11px; }
.kw-chat-attachment { display: flex; align-items: center; border: 1px solid var(--border-md); border-radius: 10px; max-width: 100%; }
.kw-chat-attachment > button:first-child { display: flex; align-items: center; gap: 8px; padding: 8px; color: var(--text); min-width: 0; }
.kw-chat-attachment span { text-align: left; overflow-wrap: anywhere; font-size: 12px; }
.kw-chat-attachment small { display: block; font-size: 10px; color: var(--muted); }
.kw-chat-attachment svg { width: 17px; height: 17px; flex-shrink: 0; }
.kw-composer-tools .kw-chat-scope { flex: 1; max-width: calc(100% - 100px); flex-wrap: wrap; gap: 2px 6px; }
.kw-chat-scope > span { font-size: 11px; white-space: nowrap; }
.kw-chat-scope select { min-width: 0; }

.kw-settings .settings-brand { border: 0; background: transparent; cursor: pointer; }
.kw-settings .settings-brand img { width: 130px; }
.kw-settings .settings-field { margin: 16px 0; }
.kw-settings .settings-form-card p { line-height: 1.6; }
.kw-settings .settings-form-card h3 { margin-bottom: 10px; }
.kw-setting-check { display: flex; align-items: flex-start; gap: 12px; margin: 22px 0; }
.kw-setting-check input { accent-color: var(--blue); margin-top: 5px; }
.kw-setting-check small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; }
.kw-settings-feedback { color: var(--text-soft); }
body.settings-page-active .kw-mobile-nav { display: none; }
@media (max-width: 700px) {
 .kw-settings .settings-menu { gap: 6px; }
 .kw-settings .settings-menu .settings-menu-account, .kw-settings .settings-menu .settings-menu-label, .kw-settings .settings-menu > p { display: none; }
 .kw-settings .settings-content { padding: 20px 16px; }
 .kw-settings .settings-menu-item { font-size: 12px; }
}

/* One selection surface: fitted label, adjacent chevron, native menu on top. */
.kw-select-control {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  width: max-content;
  max-width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid var(--border-md);
  border-radius: 10px;
  background: var(--surface);
  color: var(--text);
  font-size: 12px;
  line-height: 20px;
  cursor: pointer;
  transition: border-color .15s;
}
.kw-select-control:hover { border-color: var(--blue); background: var(--accent-soft-bg); }
.kw-select-control:focus-within { outline: 2px solid var(--blue); outline-offset: 3px; }
.kw-select-value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; pointer-events: none; }
.kw-select-control > svg { width: 16px; height: 16px; flex: 0 0 16px; color: var(--muted); pointer-events: none; }
.kw-select-control > select {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  appearance: none;
  cursor: pointer;
}
.kw-select-control:has(select:disabled) { opacity: .6; cursor: default; }
.kw-select-control > select:disabled { cursor: default; }
.kw-select-label { border: 0; background: transparent; padding: 0; flex: 0 1 auto; max-width: 100%; }
.kw-select-label > svg { display: none; }
.kw-composer-tools { justify-content: flex-start; }
.kw-composer-tools .kw-chat-scope { flex: 0 1 auto; gap: 7px; min-width: 0; max-width: calc(100% - 96px); }
.kw-chat-scope .kw-select-control { min-height: 34px; padding: 6px 10px; font-size: 11px; gap: 8px; }
.kw-composer-tools > .kw-send, .kw-composer-tools > [data-action="cancel-query"] { margin-left: auto; flex-shrink: 0; }
.kw-field > .kw-select-control, .settings-field > .kw-select-control { max-width: 100%; }
@media (prefers-reduced-motion: reduce) { .kw-select-control { transition: none; } }

/* Dashboard: inventory, availability and editorial quality stay distinct. */
.kw-dashboard-toolbar { justify-content: space-between; }
.kw-metric { padding: 20px 22px; gap: 7px; }
.kw-metric-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kw-metric-label i, .kw-panel-symbol, .kw-quality-symbol, .kw-recent-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; color: var(--blue); background: var(--accent-soft-bg); font-style: normal; flex: none; }
.kw-metric > strong { font-size: 36px; font-variant-numeric: tabular-nums; }
.kw-metric:last-child .kw-metric-label i, .kw-quality-symbol { color: #a1782d; background: rgba(202, 157, 61, .12); }
.kw-dashboard-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); align-items: stretch; gap: 18px; }
.kw-dashboard-grid > .kw-panel { min-width: 0; margin: 0; padding: 24px; border-radius: 16px; }
.kw-dashboard-grid .kw-section-head { align-items: flex-start; gap: 16px; margin: 0; }
.kw-dashboard-grid .kw-section-head h3 { font-size: 15px; }
.kw-dashboard-grid .kw-section-head p { margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.kw-status-overview { display: flex; align-items: center; gap: 25px; padding: 21px 0; min-height: 236px; }
.kw-donut { position: relative; width: 210px; flex: 0 1 210px; aspect-ratio: 1; }
.kw-donut > svg { width: 100%; height: 100%; display: block; }
.kw-donut-label { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; pointer-events: none; }
.kw-donut-label strong { font-size: 38px; line-height: 1; font-weight: 600; letter-spacing: -1.6px; font-variant-numeric: tabular-nums; }
.kw-donut-label strong small { font-size: 20px; margin-left: 3px; letter-spacing: 0; font-weight: 500; }
.kw-donut-label > span { color: var(--muted); font-size: 11px; }
.kw-chart-legend { list-style: none; padding: 0; margin: 0; flex: 1; min-width: 145px; }
.kw-chart-legend li { display: flex; align-items: center; gap: 9px; padding: 11px 0; font-size: 11px; color: var(--text-soft); }
.kw-chart-legend strong { margin-left: auto; font-size: 13px; color: var(--text); font-weight: 600; font-variant-numeric: tabular-nums; }
.kw-chart-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; background: var(--chart-color); }
.kw-panel-footer { display: flex; justify-content: space-between; align-items: center; gap: 15px; border-top: 1px solid var(--border); padding-top: 16px; }
.kw-panel-footer > span { color: var(--muted); font-size: 10px; line-height: 1.6; }
.kw-dashboard-grid .kw-text-link { font-size: 11px; white-space: nowrap; }
.kw-quality-panel { background: linear-gradient(130deg, rgba(209, 172, 91, .055), transparent 70%), var(--surface); }
.kw-quality-value { display: flex; flex-direction: column; gap: 10px; margin-top: 28px; }
.kw-quality-value > strong { font-size: 40px; letter-spacing: -1.5px; font-weight: 600; line-height: 1; }
.kw-quality-value > strong small { font-size: 22px; margin-left: 4px; font-weight: 500; }
.kw-quality-value > span { color: var(--text-soft); font-size: 11px; }
.kw-quality-progress { appearance: none; display: block; width: 100%; height: 7px; margin: 18px 0 12px; border: 0; border-radius: 5px; overflow: hidden; background: var(--surface-3); accent-color: #c5a156; }
.kw-quality-progress::-webkit-progress-bar { background: var(--surface-3); }
.kw-quality-progress::-webkit-progress-value { background: #c5a156; border-radius: 5px; }
.kw-quality-progress::-moz-progress-bar { background: #c5a156; border-radius: 5px; }
.kw-next-action { text-align: left; gap: 12px; border-bottom: 0; padding: 18px 0 12px; }
.kw-next-action > span { align-items: flex-start; flex-direction: column; gap: 5px; }
.kw-next-action strong { font-weight: 600; }
.kw-next-action small { font-size: 10px; color: var(--muted); font-weight: 400; line-height: 1.5; }
.kw-next-action > svg { color: var(--blue); }
.kw-next-action:hover strong, .kw-recent:hover strong { color: var(--blue); }
.kw-quality-note { color: var(--muted); font-size: 10px; line-height: 1.7; margin: 12px 0 0; }
.kw-failed-action { border-top: 1px solid var(--border); }
.kw-dashboard-bottom { margin-top: 18px; }
.kw-recent-panel .kw-recent:first-of-type { margin-top: 14px; }
.kw-recent-panel .kw-recent { gap: 10px; padding: 14px 0; }
.kw-recent-panel .kw-recent:last-child { border-bottom: 0; padding-bottom: 0; }
.kw-recent-panel .kw-recent > span:not(.kw-badge) { min-width: 0; }
.kw-recent-panel .kw-recent strong { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kw-recent-panel .kw-recent small { font-size: 10px; margin-top: 4px; }
.kw-recent-panel .kw-recent time { font-size: 10px; white-space: nowrap; }
.kw-recent-panel .kw-recent-icon { width: 30px; height: 34px; border-radius: 7px; }
.kw-filetypes-panel .kw-type-row { margin-top: 27px; }
.kw-type-row small { margin-left: 6px; font-size: 10px; }
.kw-filetypes-total { display: flex; justify-content: space-between; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--border); font-size: 11px; color: var(--muted); }
.kw-filetypes-total strong { color: var(--text); }
@media (max-width: 1200px) {
  .kw-dashboard-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  .kw-dashboard-grid > .kw-panel { padding: 20px; }
  .kw-status-overview { gap: 12px; }
  .kw-donut { flex-basis: 175px; }
  .kw-recent-panel .kw-recent time { display: none; }
}
@media (max-width: 1000px) {
  .kw-dashboard-grid { grid-template-columns: 1fr; }
  .kw-status-overview { justify-content: center; gap: 32px; }
  .kw-chart-legend { flex: 0 1 260px; }
  .kw-quality-value { flex-direction: row; align-items: baseline; gap: 16px; }
}
@media (max-width: 480px) {
  .kw-metric { padding: 16px; }
  .kw-metric-label i { display: none; }
  .kw-metric > strong { font-size: 30px; }
  .kw-status-overview { gap: 14px; min-height: 210px; }
  .kw-donut { flex: 0 0 clamp(105px, 32vw, 140px); }
  .kw-donut-label strong { font-size: 30px; }
  .kw-chart-legend { flex: 1; min-width: 0; }
  .kw-chart-legend li { gap: 6px; font-size: 10px; }
  .kw-dashboard-grid > .kw-panel { padding: 17px; }
  .kw-quality-value { flex-direction: column; gap: 10px; }
  .kw-recent-panel .kw-section-head { flex-wrap: wrap; }
}

/* Storage folders are entry points into the same uploaded inventory. */
.kw-storage-folders { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin: 4px 0 28px; }
.kw-storage-folder { display: flex; align-items: center; gap: 12px; text-align: left; padding: 18px; border: 1px solid var(--border-md); border-radius: 13px; background: var(--surface); color: var(--text-soft); min-width: 0; }
.kw-storage-folder > svg { color: var(--blue); }
.kw-storage-folder > span { flex: 1; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.kw-storage-folder > small { font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; }
.kw-storage-folder.active { border-color: var(--blue); background: var(--accent-soft-bg); color: var(--text); }
.kw-storage-folder:hover { border-color: var(--blue); }
.kw-project-card h3 button { color: inherit; text-align: left; font: inherit; }
.kw-project-card h3 button:hover { color: var(--blue); }
@media (max-width: 768px) {
  .kw-mobile-nav { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kw-mobile-nav button { min-width: 0; padding: 5px 2px; font-size: 8px; }
  .kw-storage-folders { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .kw-storage-folder { padding: 12px; gap: 8px; }
  .kw-storage-folder > span { font-size: 11px; }
}
body:not(.light) .kw-text-link { color: #8dafff; }

/* A single, rounded focus treatment replaces the nested blue search outline. */
.kw-search input:focus,
.kw-search input:focus-visible,
body.knowledge-workspace-enabled #knowledge-drive-search:focus,
body.knowledge-workspace-enabled #knowledge-drive-search:focus-visible {
  outline: none;
  box-shadow: none;
}
.kw-search:focus-within,
body.knowledge-workspace-enabled .knowledge-drive-search:focus-within {
  border-color: var(--muted);
  box-shadow: inset 0 0 0 1px var(--muted);
}
.kw-select-control:focus-within {
  outline: none;
  border-color: var(--muted);
  box-shadow: inset 0 0 0 1px var(--muted);
}

/* Settings share the workspace shell, typography and controls. */
#view-settings .kw-settings { grid-template-columns: var(--sidebar-w) minmax(0, 1fr); background: var(--bg); color: var(--text); }
#view-settings .kw-settings .settings-menu { padding: 0; gap: 0; box-shadow: none; border-right: 1px solid var(--shell-line, var(--border)); }
#view-settings .kw-settings .settings-brand { display: flex; align-items: center; flex: none; width: 100%; height: var(--header-h); min-height: var(--header-h); padding: 0 14px; margin: 0; border-radius: 0; border-bottom: 1px solid var(--shell-line, var(--border)); }
#view-settings .kw-settings .settings-brand img { width: 154px; height: 26px; max-width: 100%; object-fit: contain; object-position: left center; display: block; flex: 0 0 auto; }
#view-settings .kw-settings .settings-brand:focus-visible { outline-offset: -6px; }
#view-settings .kw-settings .settings-back-btn { margin: 22px 12px 18px; padding: 11px 14px; min-height: 40px; border: 0; background: transparent; color: var(--text-soft); box-shadow: none; font-size: 12px; font-weight: 500; }
#view-settings .kw-settings .settings-back-btn svg { width: 17px; height: 17px; }
#view-settings .kw-settings .settings-back-btn:hover { color: var(--text); background: var(--accent-soft-bg); }
#view-settings .kw-settings .settings-menu-label { margin: 0 12px 12px; padding: 0 14px; font-size: 11px; font-weight: 500; letter-spacing: 0; }
.kw-settings-nav { display: flex; flex-direction: column; gap: 4px; padding: 0 12px; }
#view-settings .kw-settings .settings-menu-item { min-height: 42px; padding: 11px 14px; font-weight: 500; border-radius: 10px; font-size: 13px; gap: 12px; }
#view-settings .kw-settings .settings-menu-item.active { color: var(--text); background: var(--accent-soft-bg-strong); }
#view-settings .kw-settings .settings-menu-item svg { color: currentColor; }
#view-settings .kw-settings .settings-menu-spacer { border: 0; }
#view-settings .kw-settings .settings-menu-account { grid-template-columns: 32px minmax(0, 1fr); padding: 18px 20px 10px; border-top: 1px solid var(--shell-line, var(--border)); gap: 10px; }
#view-settings .kw-settings .settings-menu-avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--blue-ui-bg); color: #fff; border: 0; font-size: 11px; font-weight: 600; }
#view-settings .kw-settings .settings-menu-name { font-size: 12px; font-weight: 600; }
#view-settings .kw-settings .settings-menu-role { margin-top: 3px; font-size: 10px; }
.kw-settings-version { padding: 0 20px 18px; font-size: 10px; color: var(--muted); line-height: 1.6; }
.kw-settings-version span { display: block; font-size: 9px; }
#view-settings .kw-settings .settings-main { background: var(--bg); }
#view-settings .kw-settings .settings-breadcrumb { padding: 0 42px; min-height: var(--header-h); flex: 0 0 var(--header-h); font-size: 11px; font-weight: 400; border-color: var(--shell-line, var(--border)); }
#view-settings .kw-settings .settings-breadcrumb strong { font-weight: 500; }
#view-settings .kw-settings .settings-content { padding: var(--kw-page-top) var(--kw-page-inline) 60px; overflow-y: scroll; scrollbar-gutter: stable; background: var(--kw-canvas-background); }
#view-settings .kw-settings .settings-content > * { max-width: 840px; }
#view-settings .kw-settings .settings-page-title { margin: 0; font-family: var(--font-head); font-size: 30px; font-weight: 650; line-height: 1.25; letter-spacing: -.8px; }
#view-settings .kw-settings .settings-page-copy { font-size: 14px; color: var(--muted); margin-top: 9px; line-height: 1.6; }
#view-settings .kw-settings .settings-account-card, #view-settings .kw-settings .settings-form-card { background: var(--surface); color: var(--text); border: 1px solid var(--border-md); box-shadow: none; border-radius: 14px; margin-top: 20px; }
#view-settings .kw-settings .settings-account-card { margin-top: 28px; }
#view-settings .kw-settings .settings-account-head { padding: 22px 24px; border-bottom: 0; }
#view-settings .kw-settings .settings-account-head h3, #view-settings .kw-settings .settings-form-card > h3 { font-size: 16px; font-weight: 650; line-height: 1.4; color: var(--text); }
#view-settings .kw-settings .settings-account-head p { color: var(--muted); font-size: 12px; margin-top: 6px; }
#view-settings .kw-settings .settings-form-card { padding: 24px; }
#view-settings .kw-settings .settings-form-card > p { font-size: 12px; color: var(--muted); }
#view-settings .kw-settings .settings-field { margin: 20px 0; gap: 8px; }
#view-settings .kw-settings .settings-field > span { font-size: 12px; font-weight: 500; }
#view-settings .kw-settings .settings-field input { min-height: 42px; background: var(--surface); font-size: 13px; font-weight: 400; padding: 10px 12px; }
#view-settings .kw-settings .settings-field input:focus { border-color: var(--muted); box-shadow: inset 0 0 0 1px var(--muted); }
#view-settings .kw-settings .settings-field .kw-select-value { font-size: 12px; font-weight: 400; }
#view-settings .kw-settings .settings-actions-row { justify-content: flex-start; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
#view-settings .kw-settings .kw-settings-feedback:empty { display: none; }
#view-settings .kw-settings .kw-settings-feedback:not(:empty) { margin-top: 16px; color: var(--text); }
#view-settings .kw-settings .kw-setting-check { padding: 20px 0; margin: 4px 0 10px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); font-size: 13px; }
#view-settings .kw-settings .settings-form-card > .kw-button { margin-top: 16px; }
body.light #view-settings .kw-settings .settings-menu { background: #f4f8ff; }
body.light #view-settings .kw-settings .settings-breadcrumb { background: rgba(248,251,255,.92); }
@media (min-width: 1600px) {
  #view-settings .kw-settings .settings-breadcrumb { padding-left: 64px; }
}
@media (max-width: 1100px) and (min-width: 761px) {
  #view-settings .kw-settings .settings-content { padding-bottom: 45px; }
  #view-settings .kw-settings .settings-breadcrumb { padding: 0 24px; }
}
@media (max-width: 760px) {
  #view-settings .kw-settings { display: flex; min-height: 0; height: 100dvh; }
  #view-settings .kw-settings .settings-menu { display: grid; grid-template-columns: minmax(0,1fr) auto; max-height: none; overflow: visible; padding: 0 0 12px; border-right: 0; border-bottom: 1px solid var(--border); }
  #view-settings .kw-settings .settings-brand { border-bottom: 0; padding: 0 16px; }
  #view-settings .kw-settings .settings-back-btn { margin: 8px 10px 8px 0; padding: 8px; font-size: 11px; }
  #view-settings .kw-settings .settings-menu-label, #view-settings .kw-settings .settings-menu-account, #view-settings .kw-settings .settings-menu-spacer, .kw-settings-version { display: none; }
  .kw-settings-nav { grid-column: 1 / -1; flex-direction: row; gap: 4px; padding: 0 12px; }
  #view-settings .kw-settings .settings-menu-item { width: auto; flex: 1; justify-content: center; padding: 9px 7px; font-size: 11px; min-width: 0; text-align: center; line-height: 1.4; gap: 6px; }
  #view-settings .kw-settings .settings-menu-item svg { display: none; }
  #view-settings .kw-settings .settings-content { padding-bottom: 40px; }
  #view-settings .kw-settings .settings-breadcrumb { padding: 0 16px; min-height: 44px; flex-basis: 44px; }
  #view-settings .kw-settings .settings-page-title { font-size: 25px; }
  #view-settings .kw-settings .settings-page-copy { font-size: 12px; }
  #view-settings .kw-settings .settings-form-card { padding: 20px; }
  #view-settings .kw-settings .settings-account-head { padding: 20px; gap: 12px; }
}

/* Review feedback uses the established workspace controls. */
.kw-icon-button.is-rejected, .kw-badge.is-rejected { color: #f29a9a; background: rgba(211, 93, 93, .12); }
body.light .kw-icon-button.is-rejected, body.light .kw-badge.is-rejected { color: #ad333b; background: #fff0f1; }
.kw-icon-button.has-comment { color: var(--blue); background: var(--accent-soft-bg); }
.kw-table-note { flex-wrap: wrap; }
.kw-comment-form { padding: 24px; }
.kw-comment-form > p { color: var(--muted); font-size: 13px; line-height: 1.6; margin: 16px 0; }
.kw-comment-form > small { color: var(--muted); font-size: 11px; }
.kw-comment-form textarea { min-height: 150px; resize: vertical; font: inherit; line-height: 1.6; }
.kw-comment-form footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
body.light #view-settings .kw-settings .settings-main { background: #fff; }
@media (max-width: 768px) {
  .kw-row-actions { display: grid; grid-template-columns: repeat(2, 32px); gap: 6px; }
  .kw-segments { flex-wrap: wrap; }
  .kw-comment-form { padding: 20px; }
}
@media (min-width: 769px) and (max-width: 1400px) {
  .kw-table th, .kw-table td { padding-left: 12px; padding-right: 12px; }
  .kw-file-name { min-width: 170px; gap: 9px; }
  .kw-row-actions { gap: 4px; }
}

/* Question-centred references use the existing Satoshi / blue workspace CI. */
.kw-gold-tabs { margin-bottom: 22px; justify-content: space-between; }
.kw-reference-card { padding: 24px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); min-width: 0; }
.kw-case-list, .kw-search-results { display: grid; gap: 16px; margin: 20px 0; }
.kw-reference-card header, .kw-reference-card footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.kw-reference-card h3 { margin: 16px 0 12px; font-size: 18px; line-height: 1.5; overflow-wrap: anywhere; }
.kw-reference-card p, .kw-reference-card blockquote { line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.kw-reference-card p { max-height: 160px; overflow: auto; color: var(--muted); }
.kw-reference-card blockquote, .kw-hit-editor blockquote { margin: 16px 0; padding: 12px 16px; border-left: 3px solid var(--blue); background: var(--accent-soft-bg); }
.kw-reference-card footer { margin-top: 20px; font-size: 12px; color: var(--muted); }
.kw-reference-card small { color: var(--muted); }
.kw-case-form { display: grid; gap: 18px; }
.kw-case-form .kw-field { margin: 0; }
.kw-hit-editor { border: 1px solid var(--border); border-radius: 12px; padding: 16px; margin: 12px 0; min-width: 0; }
.kw-hit-editor legend { font-size: 13px; font-weight: 600; padding: 0 8px; overflow-wrap: anywhere; }
.kw-hit-editor blockquote { font-size: 12px; line-height: 1.6; max-height: 140px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.kw-hit-fields, .kw-add-hit { display: flex; align-items: end; gap: 14px; margin-bottom: 14px; }
.kw-hit-fields .kw-field, .kw-add-hit .kw-field { flex: 1; min-width: 0; }
.kw-confirm-answer { display: flex; gap: 12px; align-items: start; font-size: 14px; line-height: 1.6; cursor: pointer; padding: 16px; background: var(--accent-soft-bg); border-radius: 10px; }
.kw-confirm-answer input { width: 18px; height: 18px; flex: none; margin-top: 3px; accent-color: var(--blue); }
.kw-original-answer { padding: 14px; background: var(--surface-2); border-radius: 10px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; max-height: 240px; overflow: auto; }
.kw-fulltext-form { display: flex; gap: 12px; align-items: center; margin: 24px 0 12px; }
.kw-fulltext-form .kw-search { flex: 1; max-width: none; min-width: 180px; }
.kw-fulltext-form .kw-field { margin: 0; max-width: 280px; }
.kw-search-status { margin: 22px 0 14px; font-size: 14px; color: var(--muted); }
.kw-save-answer { margin-top: 16px; }
@media (max-width: 760px) {
  .kw-mobile-nav { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .kw-mobile-nav button { font-size: 8px; }
  .kw-fulltext-form { flex-wrap: wrap; }
  .kw-fulltext-form .kw-search { flex-basis: 100%; }
  .kw-fulltext-form .kw-field { flex: 1; min-width: 0; max-width: none; }
  .kw-reference-card { padding: 18px; }
  .kw-add-hit { flex-wrap: wrap; }
  .kw-add-hit .kw-field { flex-basis: 100%; }
  .kw-reference-card h3 { font-size: 16px; }
}

/* Stable action geometry across desktop, tablet and phone. */
@media(max-width:360px) {
  .kw-mobile-nav button > span { width:100%; min-width:0; max-width:100%; white-space:normal; line-height:1.3; text-align:center; }
  .kw-mobile-nav button > .kw-nav-full { display:none; }
  .kw-mobile-nav button > .kw-nav-compact { display:block; }
}
.kw-mobile-nav .kw-nav-compact { display:none; }
.kw-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 16px; align-items: center; }
.kw-heading > div { display: contents; }
.kw-heading h2 { grid-column: 1; grid-row: 1; margin: 0; }
.kw-heading p { grid-column: 1 / -1; grid-row: 2; margin: 0; }
.kw-heading > .kw-button { grid-column: 2; grid-row: 1; font-size: 12px; width: auto; padding: 9px 14px; }
.kw-button, .kw-icon-button { box-sizing: border-box; flex-shrink: 0; line-height: 1.35; cursor: pointer; }
.kw-button > svg, .kw-icon-button > svg, .kw-text-link > svg { display: block; width: 18px; height: 18px; flex: 0 0 18px; }
.kw-icon-button { padding: 0; }
.kw-button:disabled, .kw-icon-button:disabled { cursor: default; opacity: .55; }
.kw-button:focus-visible, .kw-icon-button:focus-visible, .kw-text-link:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.kw-refresh { min-width: 134px; }
.kw-refresh[aria-busy="true"] > svg { animation: kw-refresh-turn 1s linear infinite; }
@keyframes kw-refresh-turn { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .kw-refresh[aria-busy="true"] > svg { animation: none; } }
@media (max-width: 420px) {
  .kw-heading { gap: 10px; }
  .kw-heading > .kw-button { padding: 9px 10px; }
  .kw-refresh { min-width: 124px; }
}
@media (max-width: 360px) {
  .kw-heading { grid-template-columns: minmax(0, 1fr); }
  .kw-heading > .kw-button { grid-column: 1; grid-row: 2; justify-self: start; }
  .kw-heading p { grid-row: 3; }
}

/* External sources have provenance but no downloadable original yet. */
.kw-external-citation {
  display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px;
  border: 1px solid var(--border-md); border-radius: 12px; min-width: 0;
}
.kw-external-citation > svg { width: 18px; height: 18px; flex-shrink: 0; }
.kw-external-citation span { min-width: 0; overflow-wrap: anywhere; }
.kw-external-citation strong, .kw-external-citation small { display: block; }
.kw-external-citation small { margin-top: 4px; color: var(--text-soft); font-size: 12px; }
.kw-add-hit[hidden] { display: none; }

/* Readable chat answers, with the same typography and palette as the workspace. */
.kw-chat-scroll { display: flex; flex-direction: column; overflow-x: hidden; }
.kw-chat-scroll > .kw-breadcrumb { flex: none; }
.kw-chat-scroll .kw-chat-layout { flex: 1; min-height: 0; width: 100%; }
.kw-chat-thread { flex: 1; min-height: 0; overflow-y: auto; padding-right: 6px; }
.kw-chat-welcome { min-height: 0; overflow-y: auto; }
.kw-chat-layout > .kw-composer, .kw-chat-layout > .kw-chat-caption { flex: none; }
.kw-chat-thread .kw-message { margin: 24px 0; font-size: 15px; line-height: 1.7; }
.kw-chat-thread .kw-message.user { max-width: 82%; margin-left: auto; background: var(--accent-soft-bg); border-color: var(--blue-ui-border); padding: 16px 20px; }
.kw-chat-thread .kw-message.assistant { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 24px; }
.kw-message-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 16px; }
.kw-message-header .kw-message-author { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; color: var(--text-soft); }
.kw-answer-mark { width: 17px; height: 20px; background: var(--blue); mask: url("mind_head_cutout.png") center/contain no-repeat; }
.kw-answer-time { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
:is(.kw-message-content, .kw-rich-text) { min-width: 0; overflow-wrap: anywhere; }
:is(.kw-message-content, .kw-rich-text) p { margin: 0 0 14px; }
:is(.kw-message-content, .kw-rich-text) > :last-child { margin-bottom: 0; }
:is(.kw-message-content, .kw-rich-text) h1, :is(.kw-message-content, .kw-rich-text) h2, :is(.kw-message-content, .kw-rich-text) h3,
:is(.kw-message-content, .kw-rich-text) h4, :is(.kw-message-content, .kw-rich-text) h5, :is(.kw-message-content, .kw-rich-text) h6 { font-family: var(--font-head); font-size: 17px; line-height: 1.5; margin: 24px 0 12px; font-weight: 650; }
:is(.kw-message-content, .kw-rich-text) > :first-child { margin-top: 0; }
:is(.kw-message-content, .kw-rich-text) strong { font-weight: 650; color: var(--text); }
:is(.kw-message-content, .kw-rich-text) a { color: var(--blue); text-underline-offset: 3px; }
body:not(.light) :is(.kw-message-content, .kw-rich-text) a,
body:not(.light) .kw-source-link, body:not(.light) .kw-sources .kw-source-id { color: color-mix(in srgb, var(--aqua) 75%, white); }
:is(.kw-message-content, .kw-rich-text) ul, :is(.kw-message-content, .kw-rich-text) ol { margin: 12px 0 18px; padding-left: 24px; }
:is(.kw-message-content, .kw-rich-text) li { padding-left: 4px; margin: 7px 0; }
:is(.kw-message-content, .kw-rich-text) li::marker { color: var(--muted); font-variant-numeric: tabular-nums; }
:is(.kw-message-content, .kw-rich-text) blockquote { border-left: 3px solid var(--blue); background: var(--accent-soft-bg); padding: 12px 16px; margin: 18px 0; border-radius: 0 8px 8px 0; }
:is(.kw-message-content, .kw-rich-text) code { font-family: var(--font-mono); font-size: .86em; padding: 2px 5px; border-radius: 4px; background: var(--surface-3); }
:is(.kw-message-content, .kw-rich-text) pre { overflow-x: auto; padding: 16px; border-radius: 10px; background: var(--surface-2); margin: 16px 0; }
:is(.kw-message-content, .kw-rich-text) pre code { padding: 0; background: transparent; }
:is(.kw-message-content, .kw-rich-text) .source-doc-tablewrap { overflow-x: auto; max-width: 100%; margin: 18px 0; }
:is(.kw-message-content, .kw-rich-text) .source-doc-table { width: 100%; font-size: 13px; border-collapse: collapse; }
:is(.kw-message-content, .kw-rich-text) .source-doc-table th, :is(.kw-message-content, .kw-rich-text) .source-doc-table td { padding: 10px 12px; border: 1px solid var(--border-md); text-align: left; vertical-align: top; }
:is(.kw-message-content, .kw-rich-text) .source-doc-table th { background: var(--surface-2); font-weight: 650; }
:is(.kw-message-content, .kw-rich-text) hr { border: 0; border-top: 1px solid var(--border); margin: 20px 0; }
.kw-source-link { display: inline; color: var(--blue); font: inherit; font-size: .8em; font-weight: 650; padding: 1px 4px; margin: 0 1px; border: 0; border-radius: 4px; background: var(--accent-soft-bg); cursor: pointer; }
.kw-source-link:hover { background: var(--accent-soft-bg-strong); }
.kw-source-link:focus-visible, .kw-sources summary:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.kw-sources { margin-top: 22px; border-top: 1px solid var(--border); padding-top: 14px; }
.kw-sources summary { display: flex; align-items: center; gap: 8px; width: fit-content; color: var(--text-soft); font-size: 13px; font-weight: 600; cursor: pointer; list-style: none; }
.kw-sources summary::-webkit-details-marker { display: none; }
.kw-sources summary > svg { width: 16px; height: 16px; flex: none; }
.kw-sources summary > svg:last-child { margin-left: 6px; transition: transform .15s; }
.kw-sources[open] summary > svg:last-child { transform: rotate(180deg); }
.kw-sources .kw-citations { margin-top: 14px; }
.kw-citations > [id] { scroll-margin: 24px 0; }
.kw-sources .kw-external-citation { background: var(--surface-2); padding: 12px; }
.kw-sources .kw-external-citation:focus { outline: 2px solid var(--blue); outline-offset: 2px; }
.kw-sources .kw-external-citation strong { font-size: 12px; font-weight: 600; line-height: 1.5; }
.kw-sources .kw-source-id { display: inline; color: var(--blue); }
.kw-answer-footer { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 18px; }
.kw-answer-footer .kw-save-answer { margin: 0; font-size: 12px; }
.kw-answer-footer > .kw-text-link { margin: 0; font-size: 12px; }
.kw-feedback-loading { padding: 24px 26px; }
.kw-pilot-feedback-form .kw-feedback-question { margin: 16px 0 20px; font-size: 13px; line-height: 1.6; color: var(--muted); overflow-wrap: anywhere; }
.kw-pilot-feedback-form fieldset { border: 0; padding: 0; margin: 20px 0; display: grid; gap: 10px; }
.kw-pilot-feedback-form legend { font-size: 12px; font-weight: 600; margin-bottom: 12px; }
.kw-pilot-feedback-form fieldset label { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.kw-pilot-feedback-form input[type="checkbox"] { accent-color: var(--accent); }
.kw-pilot-feedback-form footer { flex-wrap: wrap; }
.kw-chat-layout .kw-composer { position: static; margin-top: 14px; background: var(--surface); box-shadow: var(--shadow-card); }
@media (max-width: 620px) {
  .kw-chat-thread .kw-message.user { max-width: 95%; }
  .kw-chat-thread .kw-message.assistant { padding: 18px 16px; }
  .kw-chat-thread .kw-message { font-size: 14px; }
  .kw-sources .kw-citations { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 768px) { .kw-chat-scroll { padding-bottom: 18px; } }
@media (prefers-reduced-motion: reduce) { .kw-sources summary > svg:last-child { transition: none; } }

/* Recall remains a separate, local source of historical statements. */
.kw-answer-modes { display:flex; gap:6px; margin-bottom:12px; flex-wrap:wrap; }
.kw-answer-modes button { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:8px 12px; min-height:34px; border:1px solid var(--border-md); border-radius:9px; color:var(--text-soft); font-size:11px; }
.kw-answer-modes button[aria-pressed="true"] { background:var(--accent-soft-bg); color:var(--text); border-color:var(--blue-ui-border); font-weight:600; }
.kw-answer-modes button:disabled { opacity:.55; cursor:wait; }
.kw-memory-citation { background:var(--surface-2); border:1px solid var(--border-md); padding:14px; border-radius:10px; min-width:0; }
.kw-memory-citation strong { font-size:12px; }
.kw-memory-citation p { margin:8px 0 12px; color:var(--text-soft); font-size:12px; overflow-wrap:anywhere; }

/* Shared typography for answers, reference cases and readable text originals. */
.kw-rich-text { min-width:0; color:var(--text); font-size:14px; line-height:1.7; white-space:normal; }
:is(.kw-message-content, .kw-rich-text) h1 { font-size:24px; }
:is(.kw-message-content, .kw-rich-text) h2 { font-size:21px; }
:is(.kw-message-content, .kw-rich-text) h3 { font-size:18px; }
.kw-reference-answer { max-height:260px; overflow:auto; }
.kw-reference-card .kw-rich-text p { max-height:none; overflow:visible; white-space:normal; color:inherit; }
.kw-rich-text.kw-original-answer, .kw-hit-editor .kw-rich-text { white-space:normal; }
.kw-preview-host > .kw-rich-text { padding:20px; background:var(--surface); border-radius:10px; }
.kw-memory-citation:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }

/* An open reading surface, with a compact writing dock. */
.kw-chat-scroll { padding-bottom:var(--kw-chat-bottom-space,18px); overflow-y:scroll; }
.kw-chat-scroll .kw-chat-layout { max-width:900px; min-height:0; }
.kw-chat-scroll:has(.has-messages) > .kw-breadcrumb { margin-bottom:8px; }
.kw-chat-toolbar { display:flex; align-items:center; gap:16px; flex:none; min-height:34px; margin-bottom:10px; }
.kw-chat-title { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:600; color:var(--text-soft); }
.kw-chat-toolbar .kw-text-link { display:inline-flex; align-items:center; gap:7px; flex:none; margin:0; min-height:32px; font-size:11px; color:var(--text-soft); }
.kw-chat-toolbar .kw-text-link svg { width:15px; height:15px; }
.kw-mobile-history { display:none; }
.kw-chat-thread { padding:0 12px 0 2px; scrollbar-width:thin; }
.kw-chat-thread .kw-message.assistant { padding:20px 22px 24px; background:color-mix(in srgb,var(--surface) 42%,transparent); border:1px solid var(--border-md); border-radius:22px; box-shadow:none; }
.kw-chat-thread .kw-message { margin:10px 0 16px; }
.kw-chat-thread .kw-message.user { max-width:80%; padding:12px 16px; border-radius:18px 18px 5px 18px; }
.kw-message-header { margin-bottom:12px; }
.kw-chat-layout .kw-composer { padding:10px 12px; margin-top:12px; border-radius:20px; box-shadow:0 4px 24px rgba(10,30,75,.06); }
.kw-composer-input-row { display:flex; align-items:flex-end; gap:10px; }
.kw-composer-input-row textarea { flex:1; min-width:0; width:0; min-height:42px; max-height:96px; padding:7px 6px; font-size:14px; line-height:22px; }
.kw-composer-input-row .kw-send { flex:none; margin:0 0 3px; border-radius:50%; }
.kw-composer-input-row [data-action="cancel-query"] { flex:none; margin-bottom:3px; }
.kw-composer-footer { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; margin-top:5px; }
.kw-composer-footer .kw-answer-modes { gap:4px; margin:0; }
.kw-composer-footer .kw-answer-modes button { min-height:30px; padding:5px 9px; border-radius:8px; font-size:11px; }
.kw-composer-footer .kw-answer-modes svg { width:14px; height:14px; }
.kw-composer-footer .kw-composer-tools { flex:1; min-width:0; gap:6px; }
.kw-composer-tools > [data-action="attach-files"]:disabled { display:none; }
.kw-composer-tools .kw-chat-scope { max-width:100%; margin-left:auto; }
.kw-composer-tools .kw-chat-scope > span { display:none; }
.kw-chat-scope .kw-select-control { max-width:240px; min-height:30px; padding:5px 8px; }
.kw-chat-scope .kw-select-control:has(select:disabled) { background:transparent; border-color:transparent; }
.kw-chat-scope .kw-select-control:has(select:disabled) > svg { display:none; }
.has-messages .kw-chat-caption { display:none; }
.kw-chat-attachments { max-height:90px; overflow:auto; }
@media (max-width:768px) {
  .kw-chat-scroll { padding-bottom:var(--kw-chat-bottom-space,74px); }
  .kw-chat-toolbar { gap:10px; margin-bottom:6px; }
  .kw-chat-toolbar .kw-chat-title { font-size:11px; }
  .kw-mobile-history { display:inline-flex; padding:6px; min-height:32px; }
  .kw-mobile-history span { display:none; }
  .kw-mobile-history svg { width:17px; height:17px; }
  .kw-chat-thread { padding-right:6px; }
  .kw-chat-thread .kw-message.assistant { padding:16px 14px 20px; border-radius:18px; }
  .kw-chat-thread .kw-message.user { max-width:92%; padding:10px 13px; }
  .kw-chat-layout .kw-composer { padding:9px 10px; border-radius:18px; margin-top:8px; }
  .kw-composer-input-row textarea { font-size:16px; min-height:44px; }
  .kw-composer-footer { gap:4px 8px; }
  .kw-composer-footer .kw-answer-modes button { padding:5px 8px; }
  .kw-composer-tools .kw-chat-scope:has(select:disabled) { display:none; }
}

.kw-context-notice { display:flex; align-items:baseline; gap:7px; color:var(--text-soft); font-size:11px; line-height:1.5; margin:0 0 12px; overflow-wrap:anywhere; }
.kw-context-notice svg { width:13px; height:13px; flex:none; }

.kw-source-origin { margin:-5px 0 12px; color:var(--muted); font-size:10px; line-height:1.5; }

.kw-chat-context { margin:22px 0 16px; padding:18px 0 0; border-top:1px solid var(--border); overflow-wrap:anywhere; }
.kw-chat-context > h2 { display:flex; align-items:center; gap:8px; margin:0 0 7px; font-size:14px; font-weight:650; letter-spacing:0; line-height:1.5; }
.kw-chat-context > h2 svg { width:17px; height:17px; flex:none; }
.kw-chat-context-note { margin:0 0 14px; color:var(--text-soft); font-size:12px; line-height:1.6; }
.kw-chat-context-entry { padding:12px 0 12px 14px; border-left:2px solid color-mix(in srgb,var(--accent) 30%,transparent); }
.kw-chat-context-entry + .kw-chat-context-entry { margin-top:10px; }
.kw-chat-context-entry > header { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:6px 15px; font-size:11px; }
.kw-chat-context-question { margin:8px 0; color:var(--text-soft); font-size:12px; line-height:1.6; }
.kw-chat-context-entry .kw-rich-text { font-size:13px; line-height:1.8; }


/* A quiet suggestion inside the writing field; no explanatory footer. */
.kw-question-field { flex:1; min-width:0; position:relative; }
.kw-composer-input-row .kw-question-field textarea { display:block; width:100%; margin:0; }
.kw-question-field textarea[data-tab-suggestion]:placeholder-shown { padding-right:44px; }
.kw-question-field textarea[data-tab-suggestion]::placeholder { color:transparent; }
.kw-question-suggestion { position:absolute; inset:7px 6px auto; display:flex; align-items:flex-start; gap:10px; pointer-events:none; color:var(--muted); font-size:14px; line-height:22px; animation:kw-suggestion-appear .22s ease-out both; }
.kw-question-suggestion > span { flex:1; min-width:0; overflow-wrap:anywhere; }
.kw-suggestion-key { flex:none; display:grid; place-items:center; width:28px; height:28px; margin-top:-3px; padding:0; border:1px solid var(--border-md); border-radius:7px; color:var(--text-soft); background:color-mix(in srgb,var(--surface) 65%,transparent); font-size:17px; line-height:1; pointer-events:auto; opacity:.72; transition:opacity .18s,border-color .18s; }
.kw-question-field:focus-within .kw-suggestion-key, .kw-suggestion-key:hover { opacity:1; border-color:var(--blue-ui-border); }
.kw-suggestion-key:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
@keyframes kw-suggestion-appear { from { transform:translateY(2px); } to { transform:translateY(0); } }
@media(max-width:768px) { .kw-question-suggestion { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { .kw-question-suggestion { animation:none; } .kw-suggestion-key { transition:none; } }

/* Working dashboard: the agenda is the main surface, with real chat history below. */
.kw-work-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 22px; }
.kw-work-toolbar > p { display:grid; gap:5px; color:var(--muted); font-size:12px; line-height:1.5; }
.kw-work-today { color:var(--text); font-size:15px; font-weight:600; text-transform:capitalize; }
.kw-work-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-bottom:24px; }
.kw-work-metric { display:flex; flex-direction:column; align-items:stretch; text-align:left; gap:13px; min-width:0; padding:21px; border:1px solid var(--border-md); border-radius:16px; background:color-mix(in srgb,var(--surface) 78%,transparent); color:var(--text); }
.kw-work-metric:hover { border-color:var(--blue-ui-border); background:var(--surface); }
.kw-work-metric > span { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--text-soft); font-size:12px; font-weight:600; }
.kw-work-metric svg { width:17px; height:17px; color:var(--muted); flex:none; }
.kw-work-metric > strong { font-size:36px; line-height:1.1; font-weight:650; letter-spacing:-1.2px; font-variant-numeric:tabular-nums; }
.kw-work-metric small { color:var(--muted); font-size:11px; line-height:1.5; }
.kw-work-grid { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(270px,1fr); gap:22px; align-items:start; }
.kw-work-aside { display:grid; gap:22px; min-width:0; }
.kw-work-agenda, .kw-work-chart, .kw-work-finance, .kw-work-chats { min-width:0; }
.kw-work-count { font-size:11px; color:var(--muted); white-space:nowrap; }
.kw-work-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; margin:16px 0 6px; }
.kw-work-filters .kw-field { margin:0; }
.kw-work-row { display:flex; align-items:flex-start; gap:16px; padding:21px 0; border-bottom:1px solid var(--border); }
.kw-work-row:last-child { border-bottom:0; }
.kw-work-date { display:grid; place-content:center; gap:1px; flex:none; width:48px; min-height:52px; border-radius:10px; background:var(--accent-soft-bg); color:var(--text-soft); text-align:center; font-size:10px; }
.kw-work-date strong { font-size:22px; line-height:1.15; font-weight:650; font-variant-numeric:tabular-nums; }
.kw-work-row.is-overdue .kw-work-date { background:color-mix(in srgb,var(--red) 11%,var(--surface)); }
.kw-work-description { flex:1; min-width:0; }
.kw-work-title { color:var(--text); font-size:13px; font-weight:600; line-height:1.65; text-align:left; overflow-wrap:anywhere; }
.kw-work-title:hover { text-decoration:underline; text-underline-offset:3px; }
.kw-work-meta { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; margin-top:7px; color:var(--muted); font-size:11px; line-height:1.6; }
.kw-work-priority { padding:1px 7px; border-radius:5px; background:var(--surface-2); color:var(--text-soft); }
.kw-work-priority.is-high, .kw-work-priority.is-urgent { background:var(--accent-soft-bg); color:var(--text); }
.kw-work-overdue { font-weight:650; color:var(--text); }
.kw-work-row-foot { display:flex; align-items:center; flex-wrap:wrap; gap:6px 16px; margin-top:9px; }
.kw-work-row-foot .kw-text-link { display:inline-flex; align-items:center; gap:4px; font-size:11px; margin:0; }
.kw-work-row-foot svg { width:13px; height:13px; }
.kw-work-status { font-size:10px; color:var(--text-soft); }
.kw-work-row-actions { flex:none; padding-top:2px; }
.kw-work-complete { display:grid; place-items:center; width:34px; height:34px; padding:7px; border:1px solid var(--border-md); border-radius:50%; color:var(--text-soft); }
.kw-work-complete:hover { color:var(--text); background:var(--accent-soft-bg); border-color:var(--blue-ui-border); }
.kw-work-complete svg { width:17px; height:17px; }
.kw-work-ring { position:relative; width:170px; height:170px; margin:20px auto; }
.kw-work-ring > svg { width:100%; height:100%; }
.kw-work-ring > div { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:3px; }
.kw-work-ring strong { font-size:32px; line-height:1.2; font-weight:650; font-variant-numeric:tabular-nums; }
.kw-work-ring span { font-size:11px; color:var(--muted); }
.kw-work-legend { display:grid; gap:5px; list-style:none; padding:0; margin:0; }
.kw-work-legend button { display:flex; align-items:center; gap:9px; width:100%; min-height:34px; font-size:11px; text-align:left; color:var(--text-soft); }
.kw-work-legend i { width:8px; height:8px; border-radius:50%; flex:none; }
.kw-work-legend strong { margin-left:auto; color:var(--text); font-variant-numeric:tabular-nums; }
.kw-work-finance dl { margin:14px 0 0; display:grid; gap:0; }
.kw-work-finance dl > div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:12px 0; border-top:1px solid var(--border); }
.kw-work-finance dt { color:var(--text-soft); font-size:11px; line-height:1.6; }
.kw-work-finance dd { margin:0; font-weight:600; font-size:15px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.kw-work-empty-note, .kw-work-list-empty > p { color:var(--muted); font-size:12px; line-height:1.7; }
.kw-work-list-empty { padding:26px 5px; }
.kw-work-list-empty > strong { display:block; font-size:14px; margin-bottom:7px; }
.kw-work-list-empty .kw-text-link { display:inline-flex; align-items:center; gap:7px; margin-top:12px; }
.kw-work-pagination { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:15px; }
.kw-work-pagination span { font-size:11px; color:var(--muted); }
.kw-work-chats { margin-top:22px; }
.kw-work-period { width:170px; flex:none; margin:0; }
.kw-work-chat-stats { display:flex; flex-wrap:wrap; gap:12px 30px; padding:18px 0; border-bottom:1px solid var(--border); margin-bottom:18px; }
.kw-work-chat-stats > span { color:var(--muted); font-size:12px; }
.kw-work-chat-stats strong { font-size:23px; color:var(--text); font-weight:650; margin-right:6px; font-variant-numeric:tabular-nums; }
.kw-work-chat-columns { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; }
.kw-work-chat-columns h4 { font-size:12px; font-weight:650; margin:0 0 13px; }
.kw-work-recent-chat { display:flex; align-items:center; gap:11px; width:100%; text-align:left; color:var(--text); padding:12px 0; border-bottom:1px solid var(--border); }
.kw-work-recent-chat > span { flex:1; min-width:0; display:grid; gap:4px; }
.kw-work-recent-chat strong { font-size:12px; font-weight:500; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.kw-work-recent-chat small { color:var(--muted); font-size:10px; }
.kw-work-recent-chat svg { width:16px; height:16px; flex:none; color:var(--muted); }
.kw-work-question { padding:12px 0; border-bottom:1px solid var(--border); }
.kw-work-question .kw-work-title { display:block; font-size:12px; font-weight:500; }
.kw-work-question .kw-text-link { display:inline-flex; align-items:center; gap:5px; margin-top:8px; font-size:11px; }
.kw-work-question svg, .kw-work-chat-columns > div > .kw-text-link svg, .kw-work-list-empty svg { width:14px; height:14px; }
.kw-work-chat-columns > div > .kw-text-link { margin-top:16px; display:inline-flex; align-items:center; gap:6px; }
.kw-work-empty { padding:48px 24px; text-align:center; border:1px solid var(--border-md); border-radius:16px; background:var(--surface); }
.kw-work-empty h3 { margin:12px 0 8px; }
.kw-work-empty p { color:var(--muted); font-size:13px; margin-bottom:18px; }
.kw-work-notice { padding:12px 15px; font-size:12px; line-height:1.7; color:var(--text-soft); background:var(--surface); border:1px solid var(--border-md); border-radius:10px; margin-bottom:18px; }
.kw-work-form { padding:22px 26px; }
.kw-work-form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 16px; }
.kw-work-form .kw-field { margin-bottom:16px; }
.kw-work-form .kw-field input, .kw-work-form .kw-field textarea { width:100%; min-width:0; }
.kw-work-form footer { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:20px; }
.kw-work-form-source { color:var(--muted); font-size:11px; line-height:1.6; }
@media(max-width:1100px) { .kw-work-grid { grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr); } .kw-work-metric { padding:17px; } }
@media(max-width:900px) { .kw-work-grid { grid-template-columns:minmax(0,1fr); } .kw-work-aside { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .kw-work-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .kw-work-toolbar { align-items:flex-start; flex-direction:column; gap:13px; } .kw-work-metrics { gap:10px; margin-bottom:16px; } .kw-work-metric { padding:15px 13px; gap:11px; } .kw-work-metric > strong { font-size:30px; } .kw-work-metric > span { font-size:11px; } .kw-work-aside, .kw-work-chat-columns, .kw-work-form-grid { grid-template-columns:minmax(0,1fr); } .kw-work-period { width:145px; } .kw-work-chats > .kw-section-head { align-items:flex-start; flex-wrap:wrap; } .kw-work-row { gap:11px; } .kw-work-date { width:40px; } .kw-work-form { padding:18px; } .kw-work-filters { gap:9px; } }
.kw-dialog[open]:has(.kw-work-form) { display:flex; flex-direction:column; overflow:hidden; }
.kw-dialog:has(.kw-work-form) > .kw-dialog-header { flex:none; }
.kw-dialog > .kw-work-form { display:flex; flex-direction:column; min-height:0; padding:0; overflow:hidden; }
.kw-work-form-fields { min-height:0; overflow-y:auto; padding:4px 26px 10px; }
.kw-work-form > .kw-form-error { flex:none; margin:0 26px; }
.kw-work-form > footer { flex:none; margin:0; padding:15px 26px; border-top:1px solid var(--border-md); background:var(--surface); }
@media(max-width:620px) { .kw-work-form-fields { padding:0 18px 10px; } .kw-work-form > footer { padding:14px 18px; } .kw-work-form > .kw-form-error { margin:0 18px; } }
.kw-work-finance dl > div { flex-wrap:wrap; }
.kw-work-finance dd { margin-left:auto; }
@media(max-width:620px) { .kw-work-toolbar { flex-direction:row; align-items:center; gap:12px; } .kw-work-toolbar > p { min-width:0; flex:1; } .kw-work-toolbar .kw-work-today { font-size:13px; } .kw-work-toolbar > .kw-button { flex:none; } }

/* Knowledge workbench: actual conversations and cited documents lead the overview. */
.kw-scroll { overflow-anchor:none; overscroll-behavior-y:contain; scroll-behavior:auto; }
.kw-scroll[data-page-key="dashboard"] { --kw-chart-blue:#3567e7; }
.kw-insight-dashboard { min-width:0; }
.kw-insight-toolbar-actions { display:flex; align-items:flex-end; gap:12px; flex:none; }
.kw-insight-toolbar-actions .kw-work-period { width:150px; }
.kw-insight-project { display:flex; align-items:center; gap:6px; font-size:10px; letter-spacing:.07em; }
.kw-insight-project svg { width:12px;height:12px; }
.kw-insight-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border:1px solid var(--border-md); border-radius:16px; background:color-mix(in srgb,var(--surface) 82%,transparent); margin-bottom:22px; overflow:hidden; }
.kw-insight-stat { min-width:0; padding:20px 24px; display:grid; gap:6px; text-align:left; color:var(--text); border-right:1px solid var(--border); transition:background .12s; }
.kw-insight-stat:last-child { border-right:0; }
.kw-insight-stat:hover { background:var(--accent-soft-bg); }
.kw-insight-stat > span { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--text-soft); font-size:12px; font-weight:600; }
.kw-insight-stat > span svg { width:14px; height:14px; color:var(--muted); }
.kw-insight-stat > strong { font-size:34px; letter-spacing:-1px; line-height:1.25; font-weight:650; font-variant-numeric:tabular-nums; }
.kw-insight-stat > small { font-size:11px; color:var(--muted); line-height:1.5; }
.kw-insight-grid { display:grid; grid-template-columns:minmax(220px,1fr) minmax(230px,1fr) minmax(260px,1.25fr); gap:18px; align-items:stretch; margin-bottom:22px; }
.kw-insight-card { min-width:0; padding:22px; display:flex; flex-direction:column; }
.kw-insight-card .kw-section-head { margin:0; min-height:42px; align-items:flex-start; }
.kw-insight-card .kw-section-head h3, .kw-insight-middle h3 { font-size:15px; }
.kw-insight-card .kw-section-head p, .kw-insight-middle .kw-section-head p { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.5; }
.kw-insight-ring { position:relative; width:160px; height:160px; margin:14px auto 12px; flex:none; }
.kw-insight-ring > svg { display:block; }
.kw-insight-ring > div { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; pointer-events:none; }
.kw-insight-ring strong { font-size:31px; line-height:1.1; letter-spacing:-.8px; font-weight:650; font-variant-numeric:tabular-nums; }
.kw-insight-ring span { color:var(--muted); font-size:10px; }
.kw-insight-legend { display:grid; gap:1px; list-style:none; margin:0; padding:0; }
.kw-insight-legend button { width:100%; display:flex; align-items:center; gap:8px; min-height:29px; text-align:left; padding:4px 3px; border-radius:5px; font-size:11px; line-height:1.35; color:var(--text-soft); }
.kw-insight-legend button:enabled:hover { background:var(--accent-soft-bg); color:var(--text); }
.kw-insight-legend button:disabled { opacity:1; cursor:default; }
.kw-insight-legend i { flex:none; height:7px; width:7px; border-radius:50%; }
.kw-insight-legend span { flex:1; min-width:0; }
.kw-insight-legend strong { flex:none; margin-left:8px; color:var(--text); font-weight:600; font-variant-numeric:tabular-nums; }
.kw-insight-caption { font-size:10px; line-height:1.6; color:var(--muted); margin-top:13px; }
.kw-insight-live-dot { color:var(--text-soft); border:1px solid var(--border); border-radius:6px; padding:4px 7px; font-size:10px; white-space:nowrap; }
.kw-insight-activity-card .kw-section-head { margin-bottom:32px; }
.kw-insight-activity { display:flex; align-items:flex-end; gap:4px; height:160px; border-bottom:1px solid var(--border-md); background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),var(--border) calc(25% - 1px),var(--border) 25%); }
.kw-insight-day { display:flex; align-items:flex-end; justify-content:center; min-width:0; flex:1; height:100%; padding:0; border-radius:4px 4px 0 0; }
.kw-insight-day > span { display:block; width:100%; min-height:3px; max-width:28px; border-radius:4px 4px 0 0; background:var(--kw-chart-blue,#3567e7); }
.kw-insight-day:disabled { opacity:.3; cursor:default; }
.kw-insight-day:disabled > span { background:var(--muted); }
.kw-insight-day:enabled:hover > span { background:#1c8a82; }
.kw-insight-axis { display:flex; align-items:center; justify-content:space-between; font:10px var(--font-mono); color:var(--muted); margin-top:10px; }
.kw-insight-activity-summary { display:flex; gap:28px; margin-top:28px; padding-top:18px; border-top:1px solid var(--border); color:var(--muted); font-size:11px; }
.kw-insight-activity-summary strong { display:block; color:var(--text); font-size:22px; font-weight:600; font-variant-numeric:tabular-nums; margin-bottom:4px; }
.kw-insight-middle { display:grid; grid-template-columns:minmax(230px,1fr) minmax(0,2.25fr); gap:18px; align-items:start; margin-bottom:32px; }
.kw-insight-middle .kw-work-chats { margin:0; }
.kw-insight-topics { min-height:330px; }
.kw-insight-topic-list { display:grid; gap:19px; margin-top:26px; }
.kw-insight-topic { display:grid; gap:9px; width:100%; text-align:left; color:var(--text-soft); font-size:12px; }
.kw-insight-topic > span { display:flex; justify-content:space-between; gap:12px; }
.kw-insight-topic strong { font-weight:600; color:var(--text); font-variant-numeric:tabular-nums; }
.kw-insight-topic > i { display:block; height:5px; border-radius:4px; overflow:hidden; background:var(--surface-3); }
.kw-insight-topic b { display:block; height:100%; border-radius:4px; }
.kw-insight-topic:hover > span { color:var(--blue); }
.kw-insight-middle .kw-work-chat-stats { gap:10px 18px; padding:16px 0; margin-bottom:14px; }
.kw-insight-middle .kw-work-chat-stats strong { font-size:18px; }
.kw-insight-middle .kw-work-chat-stats > span { font-size:10px; }
.kw-insight-middle .kw-work-chat-columns { gap:24px; }
.kw-insight-middle .kw-work-recent-chat, .kw-insight-middle .kw-work-question { padding:11px 0; }
.kw-work-section-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
.kw-work-section-heading h3 { font-size:20px; letter-spacing:-.4px; }
.kw-work-section-heading p { margin-top:6px; color:var(--muted); font-size:12px; line-height:1.6; }
.kw-work-metrics-compact { gap:12px; margin-bottom:18px; }
.kw-work-metrics-compact .kw-work-metric { padding:16px 18px; gap:8px; border-radius:12px; }
.kw-work-metrics-compact .kw-work-metric > strong { font-size:27px; }
.kw-work-metrics-compact .kw-work-metric small { font-size:10px; }
.kw-work-filters .kw-select-control { width:100%; }
.kw-work-list { min-height:300px; }
.kw-work-list-empty { padding:38px 20px; text-align:center; max-width:430px; margin:auto; }
.kw-work-empty-icon { margin:0 auto 15px; display:grid; place-items:center; width:40px; height:40px; color:var(--blue); border-radius:50%; background:var(--accent-soft-bg); }
.kw-work-chart .kw-work-ring { margin:16px auto 10px; }
.kw-work-finance > summary { cursor:pointer; color:var(--text-soft); font-weight:600; font-size:13px; }
.kw-work-finance:not([open]) dl { display:none; }
.kw-insight-loading { min-height:900px; padding-top:60px; }
.kw-insight-skeleton { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:40px auto; max-width:1100px; }
.kw-insight-skeleton i { height:300px; border:1px solid var(--border-md); border-radius:15px; background:var(--surface-2); }
.kw-dialog[open]:has(.kw-insight-detail) { display:flex; flex-direction:column; overflow:hidden; width:min(720px,calc(100vw - 32px)); }
.kw-dialog:has(.kw-insight-detail) .kw-dialog-header { flex:none; }
.kw-insight-detail { padding:18px 25px; overflow-y:auto; min-height:0; }
.kw-insight-detail-note { color:var(--muted); font-size:12px; line-height:1.7; }
.kw-insight-detail-count { margin:16px 0 5px; color:var(--text-soft); font-size:11px; }
.kw-insight-detail-row { display:flex; align-items:center; gap:12px; padding:16px 0; width:100%; text-align:left; color:var(--text); border-bottom:1px solid var(--border); }
.kw-insight-detail-row > span { flex:1; min-width:0; }
.kw-insight-detail-row strong { display:block; font-size:13px; font-weight:550; line-height:1.6; overflow-wrap:anywhere; }
.kw-insight-detail-row small { display:block; margin-top:5px; color:var(--muted); font-size:11px; }
.kw-insight-detail-row > svg { width:16px; height:16px; flex:none; color:var(--muted); }
.kw-insight-detail-row:hover strong { color:var(--blue); }
.kw-insight-detail-footer { flex:none; padding:14px 25px; border-top:1px solid var(--border); }
@media(max-width:1270px) { .kw-insight-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .kw-insight-activity-card { grid-column:1/-1; } .kw-insight-activity-card .kw-section-head { margin-bottom:24px; } .kw-insight-middle { grid-template-columns:minmax(0,1fr); } .kw-insight-topic-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 32px; } .kw-insight-topics { min-height:0; } }
@media(max-width:900px) { .kw-insight-stat { padding:16px 18px; } .kw-insight-stat > span { font-size:11px; } .kw-insight-stat > strong { font-size:30px; } }
@media(max-width:620px) { .kw-insight-toolbar-actions { gap:8px; } .kw-insight-toolbar-actions .kw-work-period { width:126px; } .kw-insight-toolbar-actions .kw-button { padding:9px 10px; } .kw-work-toolbar { flex-wrap:wrap; gap:15px; } .kw-work-toolbar > p { flex-basis:100%; } .kw-insight-toolbar-actions { width:100%; justify-content:space-between; } .kw-insight-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .kw-insight-stat:nth-child(2) { border-right:0; } .kw-insight-stat:nth-child(-n+2) { border-bottom:1px solid var(--border); } .kw-insight-stat { padding:15px 16px; gap:5px; } .kw-insight-stat > strong { font-size:30px; } .kw-insight-stat small { font-size:10px; } .kw-insight-grid { grid-template-columns:minmax(0,1fr); gap:14px; } .kw-insight-card { padding:20px; } .kw-insight-card:not(.kw-insight-activity-card) { display:grid; grid-template-columns:130px minmax(0,1fr); column-gap:16px; align-items:center; } .kw-insight-card:not(.kw-insight-activity-card) > .kw-section-head { grid-column:1/-1; margin-bottom:12px; } .kw-insight-card .kw-insight-ring { width:130px; height:130px; margin:6px 0; } .kw-insight-card .kw-insight-ring > svg { width:130px!important; height:130px!important; } .kw-insight-card > .kw-insight-caption { grid-column:1/-1; } .kw-insight-legend button { font-size:10px; min-height:30px; } .kw-insight-card .kw-insight-ring strong { font-size:27px; } .kw-insight-middle .kw-work-chat-columns { grid-template-columns:minmax(0,1fr); } .kw-insight-topic-list { grid-template-columns:minmax(0,1fr); } .kw-work-section-heading { align-items:flex-start; } .kw-work-section-heading h3 { font-size:17px; line-height:1.4; } .kw-work-section-heading > .kw-button { flex:none; padding:9px 11px; } .kw-work-metrics-compact .kw-work-metric { padding:13px; } .kw-work-list-empty { padding:28px 4px; } .kw-insight-detail { padding:15px 19px; } .kw-insight-detail-footer { padding:13px 19px; } .kw-insight-loading { min-height:1450px; } .kw-insight-skeleton { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .kw-insight-stat { transition:none; } }
@media(max-width:620px) { .kw-insight-toolbar-actions .kw-work-period { width:154px; } .kw-insight-stat > small { display:none; } .kw-insight-stat { padding:13px 16px; } }

/* Search workspace: one calm input, clear source labels and direct conversation links. */
.kw-history-search { min-width:0; }
.kw-history-search-panel { padding:25px; border:1px solid var(--border-md); border-radius:16px; background:color-mix(in srgb,var(--surface) 86%,transparent); }
.kw-history-search-panel .kw-fulltext-intro { margin-bottom:23px; align-items:flex-start; }
.kw-history-search-panel .kw-fulltext-intro h3 { font-size:17px; }
.kw-history-search-panel .kw-fulltext-intro p { max-width:660px; color:var(--muted); font-size:12px; line-height:1.7; margin-top:7px; }
.kw-history-search-input-row { display:flex; align-items:stretch; gap:10px; }
.kw-history-search-input-row > .kw-search { flex:1; min-width:0; width:auto; min-height:48px; }
.kw-history-search-input-row input { min-width:0; width:100%; font-size:14px; }
.kw-history-search-input-row > .kw-button { min-width:110px; }
.kw-history-search-tools { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:18px; margin-top:21px; }
.kw-history-search-tabs { display:flex; gap:5px; padding:4px; border:1px solid var(--border); border-radius:10px; background:var(--surface-2); }
.kw-history-search-tab { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:35px; padding:8px 13px; border:1px solid transparent; border-radius:7px; font-size:12px; color:var(--text-soft); white-space:nowrap; }
.kw-history-search-tab.active { background:var(--surface); color:var(--text); border-color:var(--border-md); box-shadow:0 1px 3px #122b5110; }
.kw-history-search-tab > span { min-width:15px; font-size:10px; color:var(--muted); font-variant-numeric:tabular-nums; }
.kw-history-search-tab:hover { color:var(--text); }
.kw-history-search-selects { display:flex; gap:12px; }
.kw-history-search-selects > .kw-field { width:145px; margin:0; }
.kw-history-search-selects .kw-select-control { width:100%; }
.kw-history-search-help { color:var(--muted); font-size:11px; line-height:1.7; margin-top:16px; }
.kw-history-search-coverage { margin:16px 3px 0; color:var(--muted); font-size:11px; line-height:1.7; }
.kw-history-search .kw-search-results-heading { margin-top:27px; }
.kw-history-search-for { color:var(--muted); font-size:12px; margin:0 0 17px; line-height:1.6; }
.kw-history-search-for strong { font-weight:550; color:var(--text-soft); overflow-wrap:anywhere; }
.kw-history-search-results { display:grid; gap:14px; min-height:280px; align-content:start; }
.kw-history-search-results.is-updating { opacity:.55; }
.kw-history-search-result { min-width:0; border:1px solid var(--border-md); border-radius:14px; padding:22px 25px; background:var(--surface); }
.kw-history-search-result > header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.kw-history-search-type { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:11px; }
.kw-history-search-type > svg { width:14px; height:14px; }
.kw-history-search-result time { color:var(--muted); font-size:10px; flex:none; }
.kw-history-search-result-meta { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px 15px; }
.kw-history-search-match { display:inline-flex; align-items:center; flex-wrap:wrap; gap:5px; padding:5px 9px; border-radius:7px; color:var(--text); background:var(--accent-soft-bg); font-size:10px; line-height:1.4; }
.kw-history-search-match strong { font-weight:650; font-variant-numeric:tabular-nums; }
.kw-history-search-detail > .kw-history-search-match { margin-bottom:13px; }
@media(max-width:620px) { .kw-history-search-result-meta { flex-direction:column; align-items:flex-end; gap:7px; } .kw-history-search-match { font-size:9px; padding:5px 7px; } .kw-history-search-type { min-width:0; flex-wrap:wrap; } }
.kw-history-search-result h3 { margin:0 0 10px; }
.kw-history-search-result h3 > button { color:var(--text); font-size:15px; font-weight:600; line-height:1.65; text-align:left; overflow-wrap:anywhere; }
.kw-history-search-result h3 > button:hover { color:var(--blue); }
.kw-history-search-result blockquote, .kw-history-search-detail blockquote { color:var(--text-soft); font-size:13px; line-height:1.9; margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.kw-history-search mark, .kw-history-search-detail mark { color:inherit; background:var(--accent-soft-bg-strong); border-radius:3px; padding:1px 2px; font-weight:600; }
.kw-history-search-result > footer { display:flex; align-items:center; flex-wrap:wrap; gap:14px; border-top:1px solid var(--border); padding-top:14px; margin-top:18px; }
.kw-history-search-result > footer .kw-text-link { margin:0; display:inline-flex; align-items:center; gap:6px; font-size:11px; }
.kw-history-search-result > footer .kw-button { margin-left:auto; min-height:33px; padding:7px 10px; font-size:11px; }
.kw-history-search-result > footer > span { color:var(--muted); font-size:10px; }
.kw-history-search-start { border:1px dashed var(--border-md); border-radius:14px; margin-top:10px; padding:35px 24px; }
.kw-history-search-start > div { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; margin-top:20px; }
.kw-history-search-error { border:1px solid var(--border-md); border-radius:14px; padding:24px; background:var(--surface); }
.kw-history-search-error p { margin:12px 0 18px; color:var(--muted); font-size:13px; line-height:1.7; }
.kw-history-search-pagination { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:24px; }
.kw-history-search-pagination > span { color:var(--muted); font-size:11px; }
.kw-dialog[open]:has(.kw-history-search-detail) { display:flex; flex-direction:column; overflow:hidden; width:min(760px,calc(100vw - 32px)); }
.kw-dialog:has(.kw-history-search-detail) .kw-dialog-header { flex:none; }
.kw-history-search-detail { padding:20px 26px 25px; overflow-y:auto; min-height:0; }
.kw-history-search-meta { color:var(--muted); font-size:11px; margin-bottom:18px; }
.kw-history-search-notice { color:var(--muted); font-size:12px; line-height:1.8; border-top:1px solid var(--border); padding-top:18px; margin-top:20px; }
.kw-history-search-detail-footer { padding:15px 26px; border-top:1px solid var(--border); flex:none; }
@media(max-width:950px) { .kw-history-search-tools { align-items:flex-start; flex-direction:column; } .kw-history-search-selects { width:100%; } .kw-history-search-selects > .kw-field { flex:1; max-width:230px; } }
@media(max-width:620px) { .kw-history-search-panel { padding:18px; } .kw-history-search-panel .kw-fulltext-intro { gap:13px; margin-bottom:20px; } .kw-history-search-panel .kw-fulltext-intro > .kw-empty-icon { display:none; } .kw-history-search-input-row { gap:8px; } .kw-history-search-input-row > .kw-button { min-width:42px; padding:9px 11px; } .kw-history-search-input-row > .kw-button svg { display:none; } .kw-history-search-input-row input { font-size:16px; } .kw-history-search-tabs { width:100%; } .kw-history-search-tab { flex:1; min-width:0; padding:8px 7px; font-size:11px; } .kw-history-search-selects { gap:10px; } .kw-history-search-selects > .kw-field { min-width:0; width:50%; } .kw-history-search-result { padding:18px; } .kw-history-search-result h3 > button { font-size:14px; } .kw-history-search-result > header { align-items:flex-start; } .kw-history-search-result > footer { gap:12px; } .kw-history-search-start { padding:28px 18px; } .kw-history-search-help { font-size:10px; } .kw-history-search-coverage { margin-top:13px; } .kw-history-search-detail { padding:18px; } .kw-history-search-detail-footer { padding:14px 18px; } }
@media(max-width:620px) { .kw-history-search-tabs { flex-wrap:wrap; justify-content:space-between; } .kw-history-search-tab { flex:1 0 auto; } }
.kw-history-search-tips { color:var(--muted); font-size:11px; margin-top:17px; line-height:1.7; }
.kw-history-search-tips > summary { cursor:pointer; width:max-content; }
.kw-history-search-tips > p { margin-top:9px; max-width:680px; }
@media(max-width:620px) { .kw-history-search-panel { padding:16px; } .kw-history-search-tips { margin-top:13px; font-size:10px; } .kw-history-search-tools { margin-top:17px; gap:14px; } }

/* A calmer property-management workbench: blue surfaces and a visible daily flow. */
body.knowledge-workspace-enabled {
  --kw-panel:#fff;
  --kw-panel-soft:#f4f7fd;
  --kw-panel-edge:#dce5f3;
  --kw-accent:#315bcf;
  --kw-primary:#315fdb;
  --kw-panel-shadow:0 8px 28px #2c4d8c08;
  --kw-navigation:linear-gradient(180deg,#eaf0ff 0%,#f3f6fd 46%,#f8faff 100%);
}
body.knowledge-workspace-enabled:not(.light) {
  --kw-panel:#19283f;
  --kw-panel-soft:#20324d;
  --kw-panel-edge:#344762;
  --kw-accent:#b0c9ff;
  --kw-panel-shadow:0 12px 28px #030b161a;
  --kw-navigation:linear-gradient(180deg,#1a2d4a 0%,#15253e 48%,#13223a 100%);
  --kw-canvas-background:radial-gradient(ellipse at 5% 0%,#315a9c26,transparent 58%),linear-gradient(180deg,#172a46 0%,#132138 48%,#101c30 100%);
}
body.knowledge-workspace-enabled #sidebar { background:var(--kw-navigation); border-right-color:var(--kw-panel-edge); }
body.knowledge-workspace-enabled #topbar { background:var(--kw-panel); }
body.knowledge-workspace-enabled .sb-scroll-area > .sb-nav:first-child { flex:1 1 auto; min-height:0; overflow-y:auto; }
body.knowledge-workspace-enabled .kw-nav { padding:13px 0; }
.kw-nav-group + .kw-nav-group { margin-top:13px; padding-top:12px; border-top:1px solid var(--border); }
.kw-nav-group-label { padding:0 14px; margin:0 0 7px; color:var(--muted); font-size:10px; font-weight:650; letter-spacing:.045em; }
body.knowledge-workspace-enabled .kw-nav-item { min-height:39px; margin:2px 0; padding:9px 13px; border:1px solid transparent; border-radius:10px; color:var(--text-soft); }
body.knowledge-workspace-enabled .kw-nav-item.active { color:var(--text); background:color-mix(in srgb,var(--kw-panel) 83%,transparent); border-color:var(--kw-panel-edge); box-shadow:inset 3px 0 var(--kw-primary),0 2px 7px #102b5910; }
body.knowledge-workspace-enabled .kw-nav-item.active > svg { color:var(--kw-accent); }
body.knowledge-workspace-enabled .kw-nav-item:hover { background:color-mix(in srgb,var(--kw-panel) 65%,transparent); color:var(--text); }
body.knowledge-workspace-enabled .kw-nav-item[data-kw-view="chat"] { margin-bottom:4px; }
.kw-nav .kw-chat-history { margin:2px 8px 9px 14px; padding:1px 0 1px 8px; border-left:1px solid var(--border-md); }
.kw-nav .kw-history-toggle { min-height:29px; font-size:11px; }
.kw-nav .kw-history-list { max-height:178px; }
.kw-nav .kw-history-item { padding:8px 7px; border-radius:8px; }
.kw-nav .kw-history-empty { font-size:10px; line-height:1.6; padding:7px; }
.kw-shell-toggle { background:var(--kw-panel-soft); border-color:var(--kw-panel-edge); }
#knowledge-workspace { container-type:inline-size; }
.kw-insight-dashboard .kw-panel { background:var(--kw-panel); border-color:var(--kw-panel-edge); box-shadow:var(--kw-panel-shadow); border-radius:17px; }
.kw-insight-dashboard .kw-work-toolbar { padding:0 1px; margin-bottom:22px; gap:20px; }
.kw-insight-toolbar-actions { flex-wrap:wrap; justify-content:flex-end; }
.kw-insight-dashboard .kw-work-today { font-size:16px; font-weight:650; }
.kw-insight-project { width:fit-content; margin-top:3px; padding:5px 8px; background:var(--kw-panel); border:1px solid var(--kw-panel-edge); border-radius:6px; font-size:10px; letter-spacing:.015em; color:var(--text-soft); }
.kw-insight-metrics { gap:14px; border:0; border-radius:0; overflow:visible; background:transparent; margin-bottom:21px; }
.kw-insight-stat { position:relative; gap:9px; border:1px solid var(--kw-panel-edge); border-radius:15px; padding:18px 20px; background:var(--kw-panel); box-shadow:var(--kw-panel-shadow); }
.kw-insight-stat:last-child { border-right:1px solid var(--kw-panel-edge); }
.kw-insight-stat:hover { background:var(--kw-panel); border-color:var(--blue-ui-border); box-shadow:0 7px 23px #315fdb12; }
.kw-insight-stat > span { justify-content:flex-start; gap:9px; }
.kw-insight-stat .kw-stat-label { flex:1; min-width:0; }
.kw-kpi-icon, .kw-dashboard-symbol { display:grid; place-items:center; flex:none; width:30px; height:30px; border-radius:9px; background:var(--kw-panel-soft); color:var(--kw-accent); font-style:normal; }
.kw-insight-stat .kw-kpi-icon svg { width:16px; height:16px; color:inherit; }
.kw-insight-stat[data-stat-kind="followup"] .kw-kpi-icon { background:#fff2dd; color:#805516; }
body:not(.light) .kw-insight-stat[data-stat-kind="followup"] .kw-kpi-icon { background:#403526; color:#f5cc8c; }
.kw-insight-stat > strong { font-size:33px; letter-spacing:-.8px; }
.kw-insight-stat > small { font-size:10px; }
.kw-insight-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr); gap:17px; align-items:stretch; }
.kw-insight-activity-card { grid-column:auto; }
.kw-insight-card { padding:21px; }
.kw-insight-card .kw-section-head { gap:10px; }
.kw-dashboard-symbol { width:30px; height:30px; }
.kw-dashboard-symbol svg { width:16px; height:16px; }
.kw-insight-card .kw-section-head h3, .kw-work-aside h3 { font-size:14px; letter-spacing:-.15px; }
.kw-insight-legend button { min-height:31px; padding:5px 3px; }
.kw-insight-ring { margin:19px auto 15px; }
.kw-insight-activity-card .kw-section-head { margin-bottom:28px; }
.kw-insight-day > span { background:linear-gradient(180deg,#6685ee,#3563dc); border-radius:4px 4px 0 0; }
.kw-insight-activity-summary { margin-top:22px; padding-top:17px; }
.kw-work-section { margin-top:30px; }
.kw-work-section-heading h3 { font-size:20px; }
.kw-work-section-heading p { font-size:11px; }
.kw-insight-dashboard .kw-work-metric { background:var(--kw-panel); border-color:var(--kw-panel-edge); box-shadow:none; }
.kw-insight-dashboard .kw-work-metric:hover { border-color:var(--blue-ui-border); }
.kw-work-grid { grid-template-columns:minmax(0,1.9fr) minmax(285px,1fr); gap:18px; }
.kw-work-aside { grid-template-columns:minmax(0,1fr); gap:18px; }
.kw-work-agenda, .kw-work-aside > .kw-panel { padding:21px; }
.kw-task-quickfilters { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:18px 0 16px; }
.kw-task-quickfilters button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:32px; padding:7px 10px; border:1px solid var(--kw-panel-edge); border-radius:8px; color:var(--text-soft); background:var(--kw-panel); font-size:11px; white-space:nowrap; }
.kw-task-quickfilters button span { min-width:16px; color:var(--muted); font-size:10px; font-variant-numeric:tabular-nums; }
.kw-task-quickfilters button[aria-pressed="true"] { color:var(--kw-accent); background:var(--kw-panel-soft); border-color:var(--blue-ui-border); font-weight:600; }
.kw-task-quickfilters button[aria-pressed="true"] span { color:inherit; }
.kw-work-filters { margin:0 0 11px; padding-bottom:14px; border-bottom:1px solid var(--border); }
.kw-work-row { padding:18px 0; gap:13px; }
.kw-work-date { width:43px; min-height:49px; color:var(--kw-accent); background:var(--kw-panel-soft); border:1px solid var(--kw-panel-edge); }
.kw-work-date strong { font-size:21px; }
.kw-work-row.is-overdue .kw-work-date { background:#fff2dd; color:#805516; border-color:#e7d6b8; }
body:not(.light) .kw-work-row.is-overdue .kw-work-date { background:#403526; color:#f5cc8c; border-color:#665235; }
.kw-work-title { font-size:12px; }
.kw-work-status { display:inline-flex; padding:3px 7px; border-radius:5px; background:var(--kw-panel-soft); color:var(--text-soft); font-size:10px; line-height:1.4; }
.kw-work-status.is-in_progress { color:var(--kw-accent); }
.kw-work-priority.is-urgent { background:#fceef0; color:#963143; }
.kw-work-priority.is-high { background:#fff2dd; color:#805516; }
body:not(.light) .kw-work-priority.is-urgent { background:#462a39; color:#ffc1cf; }
body:not(.light) .kw-work-priority.is-high { background:#403526; color:#f5cc8c; }
.kw-work-complete { width:31px; height:31px; border-radius:8px; border-color:var(--kw-panel-edge); }
.kw-work-row .kw-text-link, .kw-deadline-create { color:var(--kw-accent); }
.kw-deadline-panel .kw-section-head { margin:0 0 17px; }
.kw-deadline-panel .kw-section-head p { margin-top:5px; color:var(--muted); font-size:10px; }
.kw-deadline-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; margin-bottom:12px; }
.kw-deadline-week button { display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0; padding:8px 1px 6px; border:1px solid transparent; border-radius:9px; color:var(--text-soft); font-size:9px; line-height:1.2; }
.kw-deadline-week button strong { font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; }
.kw-deadline-week button i { display:grid; place-items:center; height:15px; min-width:15px; font-size:9px; font-style:normal; color:var(--muted); }
.kw-deadline-week .has-deadlines { color:var(--kw-accent); border-radius:4px; background:var(--kw-panel-soft); }
.kw-deadline-week button.is-today { border-color:var(--kw-panel-edge); background:var(--kw-panel-soft); }
.kw-deadline-week button:hover { border-color:var(--blue-ui-border); }
.kw-deadline-week button[aria-pressed="true"] { color:#fff; background:var(--kw-primary); border-color:var(--kw-primary); }
.kw-deadline-week button[aria-pressed="true"] i { color:#fff; background:#ffffff1a; }
.kw-deadline-entry { display:flex; align-items:center; gap:9px; width:100%; padding:12px 0; border-bottom:1px solid var(--border); text-align:left; }
.kw-deadline-entry > span:nth-child(2) { flex:1; min-width:0; }
.kw-deadline-entry strong { display:block; font-size:11px; font-weight:600; line-height:1.5; color:var(--text); overflow-wrap:anywhere; }
.kw-deadline-entry small { display:block; margin-top:4px; font-size:10px; line-height:1.5; color:var(--muted); }
.kw-deadline-entry > svg { width:13px; height:13px; color:var(--muted); }
.kw-deadline-marker { flex:none; width:6px; height:6px; border-radius:50%; background:var(--kw-accent); }
.kw-deadline-empty { padding:13px 0 19px; font-size:11px; line-height:1.7; color:var(--muted); }
.kw-deadline-create { display:inline-flex; align-items:center; gap:5px; margin:16px 0 0; font-size:11px; }
.kw-deadline-create svg { width:14px; height:14px; }
.kw-deadline-panel + .kw-work-chart .kw-section-head { margin:0; }
.kw-work-list-empty { min-height:235px; display:flex; flex-direction:column; justify-content:center; align-items:center; }
@container(max-width:960px) {
  .kw-insight-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kw-insight-activity-card { grid-column:1/-1; }
  .kw-work-grid { grid-template-columns:minmax(0,1fr); }
  .kw-work-aside { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kw-deadline-panel { grid-column:1/-1; }
  .kw-insight-metrics { gap:10px; }
  .kw-insight-stat { padding:15px; }
  .kw-insight-stat > span { flex-wrap:wrap; }
  .kw-insight-stat > strong { font-size:30px; }
}
@container(max-width:640px) {
  .kw-insight-dashboard .kw-work-toolbar { display:grid; grid-template-columns:minmax(0,1fr); gap:15px; }
  .kw-insight-toolbar-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; width:100%; }
  .kw-insight-toolbar-actions .kw-work-period { width:100%; grid-column:1/-1; }
  .kw-insight-toolbar-actions .kw-button { min-width:0; padding:10px; font-size:11px; }
  .kw-insight-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kw-insight-stat { gap:8px; padding:14px; }
  .kw-insight-stat > span { gap:7px; }
  .kw-insight-stat > span > svg { display:none; }
  .kw-kpi-icon { width:25px; height:25px; border-radius:7px; }
  .kw-insight-stat > strong { font-size:29px; }
  .kw-insight-stat small { display:none; }
  .kw-insight-grid { grid-template-columns:minmax(0,1fr); }
  .kw-insight-activity-card { grid-column:auto; }
  .kw-insight-card { padding:18px; }
  .kw-insight-card:not(.kw-insight-activity-card) { display:grid; grid-template-columns:130px minmax(0,1fr); column-gap:15px; }
  .kw-insight-card:not(.kw-insight-activity-card) > .kw-section-head { grid-column:1/-1; }
  .kw-insight-card .kw-insight-ring, .kw-insight-card .kw-insight-ring > svg { width:130px!important; height:130px!important; }
  .kw-insight-ring strong { font-size:27px; }
  .kw-work-aside { grid-template-columns:minmax(0,1fr); }
  .kw-work-metrics-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kw-work-agenda, .kw-work-aside > .kw-panel { padding:18px; }
  .kw-task-quickfilters button { flex:1 0 auto; padding:7px 8px; font-size:10px; }
  .kw-work-section-heading { align-items:center; gap:10px; }
  .kw-work-section-heading h3 { font-size:18px; }
  .kw-work-section-heading > .kw-button { padding:8px; font-size:10px; }
  .kw-work-section-heading p { font-size:10px; }
}
body.knowledge-workspace-enabled .sb-brand { background:var(--kw-panel); }
.kw-insight-toolbar-actions .kw-dashboard-new-task { background:var(--kw-panel); border-color:var(--kw-panel-edge); }

/* A quiet current-area marker, rather than a hidden shortcut to another view. */
.kw-page-symbol { display:inline-flex; width:25px; height:25px; align-items:center; justify-content:center; color:var(--kw-accent); background:var(--accent-soft-bg); border:1px solid var(--blue-ui-border); border-radius:8px; }
.kw-page-symbol svg { width:15px; height:15px; }
.kw-breadcrumb { gap:9px; }
.kw-heading { gap:8px 16px; margin-bottom:29px; }
.kw-heading h2 { font-size:clamp(25px,2.1vw,31px); line-height:1.2; letter-spacing:-.8px; }
.kw-heading p { max-width:67ch; color:var(--text-soft); font-size:13px; line-height:1.65; text-wrap:pretty; }
.kw-library-panel { padding:24px; background:var(--kw-panel); border:1px solid var(--kw-panel-edge); border-radius:18px; box-shadow:var(--kw-panel-shadow); }
.kw-library-panel > .kw-section-head { margin:0 0 22px; align-items:flex-start; gap:16px; }
.kw-library-panel > .kw-section-head p { margin:6px 0 0; }
.kw-library-panel .kw-toolbar { margin-bottom:16px; }
.kw-library-list { border-top:1px solid var(--kw-panel-edge); }
.kw-library-row { display:flex; align-items:center; gap:15px; padding:18px 0; border-bottom:1px solid var(--kw-panel-edge); }
.kw-library-icon { display:flex; flex:none; width:42px; height:46px; align-items:center; justify-content:center; border-radius:11px; background:var(--kw-panel-soft); color:var(--kw-accent); }
.kw-library-icon svg { width:21px; height:21px; }
.kw-library-description { flex:1; min-width:0; }
.kw-library-description h4 { margin:0; font-size:13px; font-weight:650; line-height:1.5; }
.kw-library-description h4 button { color:var(--text); text-align:left; overflow-wrap:anywhere; }
.kw-library-description h4 button:hover { color:var(--kw-accent); }
.kw-library-description p { margin:3px 0 6px; color:var(--muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.kw-library-source-label { color:var(--text-soft); font-size:10px; }
.kw-library-actions { display:flex; flex:none; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.kw-library-footer { display:flex; align-items:center; justify-content:space-between; margin-top:17px; gap:12px; font-size:11px; color:var(--muted); }
.kw-library-note { margin:22px 0 0; font-size:11px; line-height:1.7; color:var(--muted); max-width:85ch; }
.kw-library-reference-detail { padding:24px; }
.kw-library-reference-detail p { font-size:13px; line-height:1.75; overflow-wrap:anywhere; margin:0 0 16px; }

/* Goldstandard: a compact review desk, with judgments beside their evidence. */
.kw-gold-page { --kw-gold-outline:color-mix(in srgb,var(--kw-panel-edge) 65%,var(--text-soft) 35%); padding-top:22px; padding-bottom:20px; scroll-padding-block:16px 140px; }
.kw-gold-page > .kw-breadcrumb { display:none; }
.kw-gold-page > .kw-heading { margin-bottom:18px; align-items:center; }
.kw-gold-page > .kw-heading h2 { font-size:28px; letter-spacing:-.7px; }
.kw-gold-page > .kw-heading p { margin-top:4px; font-size:15px; }
.kw-gold-page .kw-refresh { min-width:42px; width:42px; height:42px; padding:10px; border-color:var(--kw-gold-outline); }
.kw-gold-page .kw-refresh > span { display:none; }
.kw-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.kw-gold-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; flex-wrap:wrap; margin-bottom:20px; }
.kw-gold-toolbar-actions { display:flex; align-items:center; gap:9px; flex:none; }
.kw-gold-toolbar-actions .kw-icon-button { width:42px; height:42px; padding:10px; border:1px solid var(--kw-gold-outline); background:var(--kw-panel); }
.kw-gold-new-button { min-height:42px; padding:10px 15px; border-color:var(--kw-gold-outline); font-size:14px; }
.kw-gold-overview { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; }
.kw-gold-overview button { display:flex; align-items:center; justify-content:center; gap:9px; flex:none; color:var(--text-soft); min-height:42px; font-size:14px; border:1px solid var(--kw-gold-outline); border-radius:9px; background:var(--kw-panel); padding:10px 13px; white-space:nowrap; }
.kw-gold-overview button > span { color:var(--muted); font-variant-numeric:tabular-nums; font-size:12px; }
.kw-gold-overview button[aria-pressed=true] { color:var(--kw-accent); border-color:var(--blue); background:var(--accent-soft-bg); box-shadow:inset 0 0 0 1px var(--blue); }
.kw-gold-overview button[aria-pressed=true] > span { color:var(--kw-accent); }
.kw-gold-list { min-width:0; }
.kw-gold-list-tools { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 14px; }
.kw-gold-list-tools > .kw-search { width:min(430px,70%); margin:0; min-height:44px; }
.kw-gold-list-tools .kw-search input { font-size:14px; }
.kw-gold-list-tools > span { font-size:13px; color:var(--muted); white-space:nowrap; }
.kw-gold-list-surface { display:grid; gap:9px; }
.kw-gold-list-head,.kw-gold-list-row { display:grid; grid-template-columns:minmax(230px,1fr) 130px 75px 100px 110px 16px; align-items:center; column-gap:18px; }
.kw-gold-list-head { padding:3px 20px 6px; color:var(--text-soft); font-size:12px; }
.kw-gold-list-row { width:100%; min-height:82px; padding:18px 20px; text-align:left; color:var(--text-soft); border:1px solid var(--kw-gold-outline); border-radius:11px; background:var(--kw-panel); }

.kw-gold-list-row:hover { background:var(--kw-panel-soft); border-color:var(--kw-accent); }
.kw-gold-list-row.is-recent { border-color:var(--blue); background:var(--kw-panel-soft); }
.kw-gold-list-row:focus-visible { outline:2px solid var(--blue); outline-offset:-3px; border-radius:5px; }
.kw-gold-list-question { display:flex; align-items:center; gap:11px; min-width:0; }
.kw-gold-list-question > svg { width:19px; height:19px; flex:none; color:var(--kw-accent); }
.kw-gold-list-question > span { min-width:0; }
.kw-gold-list-question strong { display:block; color:var(--text); font-weight:550; font-size:15px; line-height:1.7; overflow-wrap:anywhere; }
.kw-gold-list-question small { display:none; color:var(--muted); font-size:12px; margin-top:4px; }
.kw-gold-list-kind,.kw-gold-list-sources,.kw-gold-list-date { font-size:12px; color:var(--muted); line-height:1.6; }
.kw-gold-list-sources,.kw-gold-list-date { font-variant-numeric:tabular-nums; }
.kw-gold-list-status { justify-self:start; padding:5px 9px; border-radius:6px; background:var(--kw-panel-soft); font-size:12px; line-height:1.6; color:var(--text-soft); }
.kw-gold-list-status.is-approved { color:var(--kw-accent); }
.kw-gold-list-open { color:var(--muted); display:flex; align-items:center; }
.kw-gold-list-open svg { width:13px; height:13px; transform:rotate(-90deg); }
.kw-gold-review-navigation { display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; gap:15px; }
.kw-gold-review-navigation > span { font-size:12px; color:var(--muted); }
.kw-gold-back { color:var(--text); font-size:14px; min-height:44px; padding:10px 16px; border:1px solid var(--kw-gold-outline); border-radius:9px; background:var(--kw-panel); }
.kw-gold-back:hover { color:var(--kw-accent); border-color:var(--blue); background:var(--accent-soft-bg); }
.kw-gold-back svg { transform:rotate(180deg); }
.kw-gold-workspace.is-review { width:100%; max-width:1000px; margin:0 auto; }
.kw-gold-page:has(.kw-gold-workspace.is-review) > .kw-heading p { display:none; }
.kw-gold-page:has(.kw-gold-workspace.is-review) > .kw-heading { margin-bottom:10px; }
.kw-gold-reviewer { min-width:0; background:var(--kw-panel); border:1px solid var(--kw-panel-edge); border-radius:13px; }
.kw-gold-case-header { padding:18px 22px 15px; scroll-margin-top:14px; }
.kw-gold-case-meta { display:flex; flex-wrap:wrap; align-items:center; gap:7px 11px; color:var(--muted); font-size:12px; }
.kw-gold-state { color:var(--kw-accent); }
.kw-gold-state.is-approved { color:var(--text); }
.kw-gold-dirty { color:var(--text-soft); }
.kw-gold-case-paging { margin-left:auto; display:flex; align-items:center; gap:4px; font-variant-numeric:tabular-nums; }
.kw-gold-case-paging > span { margin-right:5px; }
.kw-gold-case-paging .kw-icon-button { width:36px; height:36px; padding:8px; border:1px solid var(--kw-panel-edge); background:var(--kw-panel); }
.kw-gold-case-paging button svg { width:13px; height:13px; transform:rotate(-90deg); }
.kw-gold-case-paging button[data-action=gold-previous-case] svg { transform:rotate(90deg); }
.kw-gold-case-header h3 { margin:10px 0 12px; font-size:21px; line-height:1.5; font-weight:650; letter-spacing:-.3px; overflow-wrap:anywhere; }
.kw-gold-case-tools { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; }
.kw-gold-case-tools .kw-text-link { font-size:12px; color:var(--text-soft); }
.kw-gold-answer,.kw-gold-sources,.kw-gold-reference { padding:16px 22px; border-top:1px solid var(--kw-panel-edge); min-width:0; }
.kw-gold-section-title { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:11px; }
.kw-gold-section-title h4 { color:var(--text); font-size:15px; margin:0; font-weight:650; }
.kw-gold-section-title > span,.kw-gold-section-title h4 > span { font-size:12px; color:var(--muted); font-weight:400; }
.kw-gold-section-title h4 > span { margin-left:6px; }
.kw-gold-section-title .kw-text-link { font-size:12px; color:var(--kw-accent); }
.kw-gold-section-title > div { display:flex; gap:15px; flex-wrap:wrap; }
.kw-gold-original { color:var(--text-soft); font-size:15px; line-height:1.8; overflow-wrap:anywhere; }
.kw-gold-original > :first-child { margin-top:0; }
.kw-gold-original > :last-child { margin-bottom:0; }
.kw-gold-original.is-short { max-height:125px; overflow:hidden; mask-image:linear-gradient(#000 70%,transparent); }
.kw-gold-expand-answer { color:var(--kw-accent); margin:5px 0 0; font-size:12px; }
.kw-gold-rating-line { margin-top:13px; }
.kw-gold-verdict { border:0; padding:0; margin:0; min-width:0; width:100%; }
.kw-gold-verdict > div { display:flex; align-items:stretch; flex-wrap:wrap; gap:8px; }
.kw-gold-verdict button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:0; min-height:42px; padding:9px 12px; border:1px solid var(--kw-panel-edge); background:transparent; border-radius:7px; color:var(--text-soft); font-size:13px; line-height:1.4; white-space:normal; }
.kw-gold-verdict button.active { color:var(--kw-accent); border-color:var(--blue); background:var(--accent-soft-bg); }
.kw-gold-verdict button svg { width:16px; height:16px; flex:none; }
.kw-gold-answer-comment[aria-expanded=true] { color:var(--kw-accent); background:var(--accent-soft-bg); }
.kw-gold-workspace .kw-text-link { min-height:36px; line-height:1.4; white-space:normal; text-align:left; max-width:100%; }
.kw-gold-source { min-width:0; padding:8px 0; border-bottom:1px solid var(--kw-panel-edge); }
.kw-gold-source:last-child { border-bottom:0; }
.kw-gold-source-row { display:flex; align-items:center; gap:10px; min-width:0; }
.kw-gold-source-name { display:flex; align-items:center; gap:8px; min-width:0; flex:1; color:var(--text-soft); text-align:left; }
.kw-gold-source-name > span { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; line-height:1.7; }
.kw-gold-source-name > svg { width:14px; height:14px; color:var(--muted); flex:none; }
.kw-gold-source-name > svg:last-child { width:11px; height:11px; transform:rotate(-90deg); }
.kw-gold-source-name[aria-expanded=true] > svg:last-child { transform:rotate(0); }
.kw-gold-source-actions { display:flex; align-items:center; flex:none; gap:4px; }
.kw-gold-source-actions button { display:grid; place-items:center; width:40px; height:40px; min-height:40px; border:1px solid var(--kw-panel-edge); border-radius:6px; background:transparent; color:var(--muted); padding:5px; }
.kw-gold-source-actions button svg { width:15px; height:15px; }
.kw-gold-source-actions button:hover { border-color:var(--kw-panel-edge); color:var(--text); }
.kw-gold-choice.positive[aria-pressed=true] { color:var(--kw-accent); border-color:var(--kw-panel-edge); background:var(--accent-soft-bg); }
.kw-gold-choice.negative[aria-pressed=true] { color:var(--text); border-color:#b94554; background:color-mix(in srgb,#b94554 13%,var(--kw-panel)); }
.kw-gold-source-context { padding:10px 0 0 22px; color:var(--muted); font-size:12px; line-height:1.8; }
.kw-gold-source-context p { margin:4px 0; overflow-wrap:anywhere; }
.kw-gold-source-context blockquote { margin:10px 0; padding-left:12px; border-left:2px solid var(--kw-panel-edge); color:var(--text-soft); font-size:13px; }
.kw-gold-source-context .kw-text-link { font-size:12px; color:var(--kw-accent); }
.kw-gold-workspace .kw-field { margin:11px 0 0; gap:6px; font-size:13px; }
.kw-gold-workspace .kw-field textarea { width:100%; min-height:62px; padding:9px 11px; line-height:1.7; font-size:15px; resize:vertical; }
.kw-gold-source-comment { padding-left:22px; }
.kw-gold-inline-details { margin-top:10px; color:var(--muted); font-size:12px; line-height:1.8; }
.kw-gold-inline-details summary { cursor:pointer; color:var(--text-soft); }
.kw-gold-inline-details p { margin:8px 0 0; }
.kw-gold-feedback { margin-top:10px; color:var(--muted); font-size:12px; line-height:1.8; }
.kw-gold-feedback summary { cursor:pointer; }
.kw-gold-feedback small { font-size:12px; }
.kw-gold-technical { color:var(--text-soft); font-size:13px; line-height:1.7; }
.kw-gold-technical strong { font-size:15px; color:var(--text); }
.kw-gold-technical p { margin:6px 0 0; }
.kw-gold-reference-empty { font-size:13px; color:var(--muted); margin:0 0 8px; }
.kw-gold-abstain-toggle { display:flex; align-items:center; gap:9px; min-height:40px; margin-top:11px; font-size:12px; color:var(--text-soft); }
.kw-gold-abstain-toggle input { accent-color:var(--blue); margin:0; width:18px; height:18px; flex:none; }
.kw-gold-editor-footer { position:sticky; bottom:-20px; z-index:2; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; padding:12px 22px; background:var(--kw-panel); border-top:1px solid var(--kw-panel-edge); border-radius:0 0 13px 13px; }
.kw-gold-editor-footer > div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; min-width:0; }
.kw-gold-editor-footer .kw-button { min-height:42px; padding:10px 14px; font-size:14px; min-width:0; line-height:1.4; white-space:normal; text-align:center; }
.kw-gold-attestation { display:flex; align-items:center; gap:9px; min-height:40px; color:var(--text-soft); font-size:13px; line-height:1.4; }
.kw-gold-attestation input { width:18px; height:18px; flex:none; margin:0; accent-color:var(--blue); }
.kw-gold-form-error { color:var(--text); background:color-mix(in srgb,#b94554 10%,var(--kw-panel)); border-left:2px solid #b94554; padding:10px 12px; margin:10px 22px; font-size:13px; line-height:1.8; }
.kw-gold-form-error > .kw-text-link { display:block; margin-top:7px; text-align:left; color:var(--kw-accent); }
.kw-gold-recovery { margin:12px 22px; padding:12px; border:1px solid var(--kw-panel-edge); border-radius:7px; color:var(--text-soft); font-size:13px; line-height:1.8; }
.kw-gold-recovery .kw-text-link { color:var(--kw-accent); text-align:left; }
.kw-gold-approved-note { display:flex; align-items:center; gap:8px; padding:12px 22px; color:var(--kw-accent); font-size:13px; border-top:1px solid var(--kw-panel-edge); }
.kw-gold-approved-note svg { width:14px; height:14px; }
.kw-gold-import-note { display:flex; align-items:center; gap:15px; font-size:13px; color:var(--text-soft); margin:0 0 14px; }
.kw-gold-import-note .kw-text-link { color:var(--kw-accent); font-size:13px; }
.kw-gold-empty { padding:40px 22px; text-align:center; }
.kw-gold-empty h3 { font-size:17px; margin:0 0 16px; }
@container(max-width:1030px) { .kw-gold-overview { gap:8px; } .kw-gold-toolbar { flex-wrap:wrap; } .kw-gold-toolbar-actions { margin-left:auto; } }
@container(max-width:1000px) { .kw-gold-list-head,.kw-gold-list-row { grid-template-columns:minmax(200px,1fr) 95px 50px 80px 85px 13px; gap:12px; } }
@media(max-width:1000px) { .kw-gold-list-head,.kw-gold-list-row { grid-template-columns:minmax(190px,1fr) 90px 50px 85px 13px; gap:12px; } .kw-gold-list-date { display:none; } .kw-gold-list-head > span:nth-child(4) { display:none; } }
@container(max-width:800px) {
  .kw-gold-list-head { display:none; }
  .kw-gold-list-row { grid-template-columns:minmax(0,1fr) 104px 13px; padding:16px; gap:10px; }
  .kw-gold-list-question { gap:8px; align-items:flex-start; }
  .kw-gold-list-question > svg { margin-top:3px; }
  .kw-gold-list-question small { display:block; }
  .kw-gold-list-kind,.kw-gold-list-sources,.kw-gold-list-date { display:none; }
  .kw-gold-list-tools { gap:10px; }
  .kw-gold-list-tools > .kw-search { width:100%; }
  .kw-gold-list-tools > span { display:none; }
}
@container(max-width:560px) {
  .kw-gold-list-row { grid-template-columns:20px minmax(0,1fr) auto 13px; row-gap:7px; }
  .kw-gold-list-question,.kw-gold-list-question > span { display:contents; }
  .kw-gold-list-question > svg { grid-column:1; grid-row:1; }
  .kw-gold-list-question strong { grid-column:2 / 4; grid-row:1; }
  .kw-gold-list-question small { grid-column:2; grid-row:2; align-self:center; margin-top:0; }
  .kw-gold-list-status { grid-column:3; grid-row:2; align-self:center; white-space:nowrap; }
  .kw-gold-list-open { grid-column:4; grid-row:1 / 3; }
}
@media(max-width:768px) { .kw-gold-page { padding-bottom:76px; } .kw-gold-editor-footer { bottom:0; } }
@media(max-width:520px) {
  .kw-gold-page { padding-top:18px; }
  .kw-gold-page > .kw-heading h2 { font-size:26px; }
  .kw-gold-toolbar { gap:12px; margin-bottom:18px; }
  .kw-gold-overview { width:100%; gap:8px; order:2; }
  .kw-gold-toolbar-actions { padding-bottom:7px; }
  .kw-gold-case-header,.kw-gold-answer,.kw-gold-sources,.kw-gold-reference { padding:14px; }
  .kw-gold-case-header h3 { font-size:20px; }
  .kw-gold-case-meta { gap:7px; }
  .kw-gold-case-paging .kw-icon-button { width:44px; height:44px; }
  .kw-gold-case-tools .kw-text-link { min-height:44px; }
  .kw-gold-source-actions button { width:44px; height:44px; min-height:44px; }
  .kw-gold-source-row { gap:5px; }
  .kw-gold-source-name { gap:5px; }
  .kw-gold-source-name > svg:last-child { display:none; }
  .kw-gold-verdict button { min-height:44px; }
  .kw-gold-rating-line { gap:5px; }
  .kw-gold-section-title > div { gap:10px; }
  .kw-gold-editor-footer { padding:11px 14px; gap:10px; }
  .kw-gold-editor-footer > div { width:100%; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); gap:8px; }
  .kw-gold-form-error { margin:10px 14px; }
}

@container(max-width:560px) {
  .kw-gold-verdict > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kw-gold-answer-comment { grid-column:1 / -1; justify-self:start; }
  .kw-gold-source-row { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
  .kw-gold-source-name { min-height:44px; }
  .kw-gold-source-name > span { white-space:normal; overflow-wrap:anywhere; }
  .kw-gold-source-actions { justify-self:end; gap:6px; }
  .kw-gold-source-comment,.kw-gold-source-context { padding-left:0; }
  .kw-gold-workspace .kw-field textarea,.kw-gold-list-tools .kw-search input { font-size:16px; }
  .kw-gold-attestation,.kw-gold-abstain-toggle { min-height:44px; }
}
@media(max-width:560px) {
  .kw-dialog:has(#kw-gold-new-form) .kw-dialog-header { align-items:flex-start; gap:12px; }
  .kw-dialog:has(#kw-gold-new-form) .kw-dialog-header h2 { min-width:0; font-size:21px; }
  .kw-dialog:has(#kw-gold-new-form) .kw-dialog-header .kw-icon-button { width:44px; height:44px; flex:none; }
  #kw-gold-new-form textarea { font-size:16px; }
  #kw-gold-new-form > footer { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr); align-items:stretch; gap:8px; }
  #kw-gold-new-form > footer .kw-button { min-width:0; min-height:44px; white-space:normal; line-height:1.4; font-size:14px; }
}

/* Work queue: combine context, urgency and type without leaving the dashboard. */
.kw-agenda-searchbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(175px,.7fr); align-items:end; gap:12px; margin:16px 0; }
.kw-agenda-searchbar .kw-search { min-width:0; margin:0; }
.kw-agenda-searchbar .kw-field { margin:0; min-width:0; }
.kw-agenda-searchbar .kw-select-control { width:100%; }
.kw-agenda-filters { gap:12px; }
.kw-agenda-filter-summary { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--muted); font-size:10px; padding:1px 0 11px; }
.kw-agenda-filter-summary .kw-text-link { font-size:11px; color:var(--kw-accent); }
.kw-task-status-control { display:inline-flex; min-width:0; max-width:100%; }
.kw-task-status-control .kw-select-control { min-height:28px; border-radius:7px; padding:5px 9px; gap:8px; font-size:10px; background:var(--kw-panel-soft); }
.kw-task-status-control .kw-select-value { max-width:145px; overflow:hidden; text-overflow:ellipsis; }
.kw-task-status-control .kw-select-control > svg { width:12px; height:12px; }
.kw-work-kind { display:inline-flex; padding:5px 8px; border-radius:7px; font-size:10px; background:var(--kw-panel-soft); color:var(--text-soft); }
.kw-work-kind.is-follow_up { color:var(--kw-accent); background:var(--accent-soft-bg); }
.kw-deadline-create-actions { display:flex; flex-direction:column; align-items:flex-start; gap:13px; margin-top:16px; }
.kw-deadline-create-actions > .kw-deadline-create { margin:0; }
@container(max-width:1060px) { .kw-agenda-searchbar { grid-template-columns:minmax(0,1fr); } }
@media(max-width:620px) {
  .kw-agenda-searchbar { grid-template-columns:minmax(0,1fr); gap:12px; }
  .kw-agenda-filters { grid-template-columns:minmax(0,1fr); }
  .kw-agenda-filter-summary { align-items:flex-start; flex-wrap:wrap; }
}
.kw-import-row > div { min-width:0; }
.kw-import-row strong, .kw-import-row small { overflow-wrap:anywhere; }
@media(max-width:620px) {
  .kw-heading { margin-bottom:24px; }
  .kw-heading p { font-size:12px; }
  .kw-library-panel { padding:18px 14px; border-radius:14px; }
  .kw-library-panel > .kw-section-head { flex-wrap:wrap; }
  .kw-library-row { gap:10px; padding:15px 0; align-items:flex-start; }
  .kw-library-icon { width:32px; height:38px; border-radius:8px; }
  .kw-library-actions { max-width:34px; }
  .kw-library-description .kw-ingestion-status { font-size:10px; }
}
.kw-insight-stat { transition:border-color .14s ease,box-shadow .14s ease; }

/* Gold document choices remain one task per page, with a clear return path. */
.kw-gold-entry-actions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.kw-gold-entry-actions .kw-button { min-height:44px; border-color:var(--kw-gold-outline); font-size:14px; }
.kw-gold-document-picker { min-width:0; padding-bottom:16px; }
.kw-gold-picker-heading { margin:22px 0; }
.kw-gold-picker-heading h3 { font-size:23px; margin:0 0 8px; letter-spacing:-.4px; }
.kw-gold-picker-heading p { color:var(--text-soft); font-size:15px; line-height:1.6; margin:0; }
.kw-gold-picker-search { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.kw-gold-picker-search .kw-search { flex:1; min-width:0; }
.kw-gold-picker-search input { width:100%; min-width:0; font-size:15px; }
.kw-gold-picker-search .kw-button { flex:none; }
.kw-gold-picker-filters { padding:14px 18px; background:var(--kw-panel); border:1px solid var(--kw-gold-outline); border-radius:14px; }
.kw-gold-picker-filters summary { cursor:pointer; font-size:14px; font-weight:600; min-height:24px; }
.kw-gold-picker-filters > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:18px; }
.kw-gold-picker-filters .kw-field { min-width:0; font-size:13px; margin:0; }
.kw-gold-picker-filters .kw-select-control { width:100%; min-height:44px; font-size:14px; justify-content:space-between; }
.kw-gold-picker-filters input,.kw-gold-picker-filters select { min-width:0; width:100%; min-height:44px; font-size:14px; }
.kw-gold-picker-coverage { color:var(--text-soft); font-size:13px; line-height:1.6; margin:14px 0; }
.kw-gold-picker-result-count { font-size:13px; color:var(--text-soft); margin:20px 0 10px; }
.kw-gold-picker-rows { display:grid; gap:10px; }
.kw-gold-document-option,.kw-gold-chat-option { display:flex; align-items:center; gap:18px; justify-content:space-between; min-width:0; border:1px solid var(--kw-gold-outline); border-radius:16px; background:var(--kw-panel); padding:18px; }
.kw-gold-document-option.is-selected { border-color:var(--blue); background:color-mix(in srgb,var(--kw-panel) 92%,var(--blue) 8%); }
.kw-gold-document-option > label { display:flex; align-items:center; gap:14px; min-width:0; flex:1; cursor:pointer; }
.kw-gold-document-option input[type=checkbox] { width:20px; height:20px; flex:none; accent-color:var(--blue); }
.kw-gold-document-option label > span,.kw-gold-pinned-source > span { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.kw-gold-document-option svg,.kw-gold-pinned-source svg,.kw-gold-chat-option > svg { width:20px; height:20px; flex:none; }
.kw-gold-document-option strong,.kw-gold-chat-option strong,.kw-gold-pinned-source strong { display:block; font-size:15px; line-height:1.5; font-weight:600; overflow-wrap:anywhere; }
.kw-gold-document-option small,.kw-gold-chat-option small,.kw-gold-pinned-source small { display:block; color:var(--text-soft); font-size:13px; line-height:1.6; margin-top:3px; overflow-wrap:anywhere; }
.kw-gold-document-option > div { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.kw-gold-document-option .kw-button,.kw-gold-pinned-source .kw-button { min-height:44px; border-color:var(--kw-gold-outline); }
.kw-gold-chat-option { width:100%; text-align:left; color:var(--text); cursor:pointer; font:inherit; }
.kw-gold-chat-option > span:first-of-type { flex:1; min-width:0; }
.kw-gold-chat-option > span:last-of-type { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--blue); }
.kw-gold-picker-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; position:sticky; bottom:0; z-index:2; background:var(--kw-panel); border:1px solid var(--kw-gold-outline); border-radius:16px; padding:16px 18px; margin-top:20px; box-shadow:0 -4px 20px color-mix(in srgb,var(--text) 4%,transparent); font-size:14px; }
.kw-gold-picker-footer > div { display:flex; gap:10px; }
.kw-gold-picker-footer .kw-button { min-height:44px; white-space:normal; text-align:center; justify-content:center; }
.kw-gold-document-detail { border:1px solid var(--kw-gold-outline); border-radius:18px; padding:28px; background:var(--kw-panel); margin-top:20px; overflow-wrap:anywhere; }
.kw-gold-document-detail h3 { margin:10px 0 22px; font-size:23px; }
.kw-gold-document-detail dl { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); font-size:14px; }
.kw-gold-document-detail dt { color:var(--text-soft); margin-bottom:5px; }
.kw-gold-document-detail dd { margin:0; font-weight:600; }
.kw-gold-document-detail p { font-size:15px; line-height:1.65; }
.kw-gold-document-detail-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.kw-gold-expected-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:22px 0 12px; }
.kw-gold-expected-heading h4 { font-size:15px; margin:0; }
.kw-gold-pinned-sources { display:grid; gap:10px; }
.kw-gold-pinned-source { border:1px solid var(--kw-gold-outline); border-radius:12px; padding:14px; display:flex; align-items:center; justify-content:space-between; gap:16px; min-width:0; }
.kw-gold-pinned-source > div { display:flex; gap:8px; flex:none; }
.kw-gold-pinned-source .kw-icon-button { width:44px; height:44px; border:1px solid var(--kw-gold-outline); }
@media(max-width:900px) { .kw-gold-picker-filters > div { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@container(max-width:600px) {
  .kw-gold-picker-search { flex-direction:column; align-items:stretch; }
  .kw-gold-document-option { align-items:stretch; flex-direction:column; gap:12px; padding:16px; }
  .kw-gold-document-option > div { justify-content:flex-end; }
  .kw-gold-picker-footer { flex-direction:column; gap:12px; align-items:stretch; padding:14px; }
  .kw-gold-picker-footer > div { display:grid; grid-template-columns:1fr 1.5fr; }
  .kw-gold-picker-footer .kw-button { min-width:0; padding:10px; font-size:13px; }
  .kw-gold-pinned-source { flex-direction:column; align-items:stretch; }
  .kw-gold-pinned-source > div { justify-content:flex-end; }
  .kw-gold-chat-option { flex-wrap:wrap; gap:12px; }
  .kw-gold-chat-option > span:last-of-type { margin-left:auto; }
  .kw-gold-document-detail { padding:20px; }
  .kw-gold-document-detail dl { grid-template-columns:1fr; }
}
@media(max-width:400px) {
  .kw-gold-entry-actions { display:grid; grid-template-columns:1fr; }
  .kw-gold-picker-filters > div { grid-template-columns:1fr; }
  .kw-gold-picker-search input,.kw-gold-picker-filters input,.kw-gold-picker-filters select { font-size:16px; }
}

/* Daily work first; analytics remain available below the agenda. */
.kw-dashboard-analytics { margin-top:28px; border-top:1px solid var(--kw-panel-edge); padding-top:22px; }
.kw-dashboard-analytics > summary { cursor:pointer; font-size:20px; font-weight:650; margin-bottom:20px; color:var(--text); }
.kw-dashboard-analytics > summary > span { display:block; margin:7px 0 0 20px; font-size:14px; color:var(--text-soft); font-weight:400; }
.kw-work-section { margin-top:8px; }
.kw-work-metrics-compact .kw-work-metric { padding:15px 18px; }
.kw-work-metrics-compact .kw-work-metric > strong { font-size:28px; }
.kw-task-status-control .kw-select-control { min-height:36px; font-size:13px; }
.kw-work-meta,.kw-work-row-foot,.kw-work-date span { font-size:13px; }
.kw-work-priority,.kw-work-kind,.kw-deadline-entry small,.kw-deadline-empty,.kw-insight-caption,.kw-insight-legend button,.kw-library-footer,.kw-library-note,.kw-library-source-label { font-size:12px; }
.kw-deadline-entry strong { font-size:14px; }
.kw-agenda-filter-summary,.kw-task-quickfilters button { font-size:13px; }
.kw-import-availability,.kw-search-score-explainer { padding:13px 16px; border:1px solid var(--kw-panel-edge); border-radius:12px; background:var(--kw-panel); color:var(--text-soft); font-size:14px; line-height:1.6; margin:0 0 20px; }
.kw-search-score-explainer { margin:16px 0; }
.kw-gold-guide { padding:14px 18px; margin-bottom:18px; border:1px solid var(--kw-gold-outline); border-radius:14px; background:var(--kw-panel); font-size:14px; line-height:1.6; }
.kw-gold-guide summary { cursor:pointer; font-weight:600; }
.kw-gold-guide ol { padding-left:22px; margin:15px 0; }
.kw-gold-guide li { margin:8px 0; }
.kw-gold-guide p { margin:12px 0; color:var(--text-soft); }
.kw-history-tools { padding:16px 20px; display:grid; gap:14px; border-bottom:1px solid var(--kw-panel-edge); }
.kw-history-tools .kw-search { width:100%; }
.kw-history-tools input { width:100%; font-size:15px; }
.kw-conversation-manage { flex:none; width:40px; height:40px; border:1px solid var(--kw-panel-edge); border-radius:10px; }
.kw-conversation-archive { display:flex; align-items:center; gap:10px; font-size:15px; min-height:44px; cursor:pointer; }
.kw-conversation-archive input { width:18px; height:18px; }
.kw-history-item small,.kw-settings .kw-muted { font-size:12px; }
@media(max-width:768px) {
  .kw-mobile-nav { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .kw-mobile-nav [data-kw-view="storage"],.kw-mobile-nav [data-kw-view="import"],.kw-mobile-nav [data-kw-view="gold"] { display:none; }
  .kw-mobile-nav button > span,.kw-mobile-nav button .kw-nav-compact { font-size:11px; line-height:1.3; }
  .kw-mobile-nav #kw-mobile-more { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; padding:9px 3px; color:var(--text-soft); border:0; border-radius:12px; background:transparent; }
  .kw-mobile-nav #kw-mobile-more svg { width:19px; height:19px; }
  .kw-mobile-nav #kw-mobile-more.active { color:var(--blue); background:var(--accent-soft-bg); }
  .kw-chat-toolbar { gap:8px; }
  .kw-chat-title { flex:1; min-width:0; }
  .kw-chat-toolbar .kw-conversation-manage { width:36px; height:36px; }
  .kw-chat-toolbar .kw-text-link { font-size:12px; }
  .kw-work-section-heading h3 { font-size:21px; }
  .kw-work-section-heading p,.kw-work-section-heading > .kw-button { font-size:13px; }
  .kw-insight-stat small,.kw-stat-label,.kw-history-search-type,.kw-history-search-match span,.kw-library-description p { font-size:12px; }
  .kw-insight-axis,.kw-insight-card .kw-section-head p { font-size:12px; }
}

/* Compact, in-product support conversation. Public help requires no document access. */
.im-support-launcher { position:fixed; z-index:1100; right:22px; bottom:22px; display:flex; gap:9px; align-items:center; justify-content:center; min-height:48px; padding:12px 17px; border:1px solid var(--blue); border-radius:18px; color:white; background:var(--blue); box-shadow:0 5px 20px rgba(36,87,212,.2); cursor:pointer; font:600 14px var(--font-body,sans-serif); }
.im-support-launcher svg { width:23px; height:23px; }
.im-support-launcher:focus-visible,.im-support-dialog button:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.im-support-dialog { position:fixed; z-index:1150; inset:auto 22px 22px auto; margin:0; width:410px; max-width:calc(100vw - 28px); height:620px; max-height:calc(100dvh - 40px); padding:0; border:1px solid var(--border-md); border-radius:22px; color:var(--text); background:var(--surface); box-shadow:0 18px 70px rgba(15,30,60,.23); overflow:hidden; }
.im-support-dialog[open] { display:flex; flex-direction:column; }

.im-support-dialog > header { flex:none; display:flex; align-items:center; justify-content:space-between; padding:18px; border-bottom:1px solid var(--border); }
.im-support-dialog header > div:first-child { display:flex; align-items:center; gap:12px; }
.im-support-dialog header > div:first-child > svg { width:25px; height:25px; color:var(--blue); }
.im-support-dialog h2 { font-size:18px; margin:0; font-family:var(--font-head,sans-serif); }
.im-support-dialog header p { font-size:12px; color:var(--text-soft); margin:4px 0 0; }
.im-support-window-controls button { width:40px; height:40px; border:1px solid var(--border); border-radius:10px; color:var(--text); background:var(--surface-2); font-size:25px; cursor:pointer; }
.im-support-thread { flex:1; min-height:0; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:14px; overscroll-behavior:contain; }
.im-support-message { padding:14px 15px; border:1px solid var(--border); border-radius:15px; background:var(--surface-2); max-width:96%; overflow-wrap:anywhere; }
.im-support-message.user { align-self:flex-end; background:var(--accent-soft-bg); }
.im-support-message strong { font-size:12px; color:var(--text-soft); }
.im-support-message p { margin:6px 0 0; font-size:14px; line-height:1.65; white-space:pre-line; }
.im-support-message > div { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.im-support-message button,.im-support-shortcuts button { border:1px solid var(--border-md); background:var(--surface); color:var(--text); border-radius:10px; padding:8px 10px; font:500 12px var(--font-body,sans-serif); min-height:36px; cursor:pointer; }
.im-support-shortcuts { padding:8px 14px; display:flex; gap:7px; flex-wrap:wrap; border-top:1px solid var(--border); }
.im-support-dialog form { display:flex; gap:10px; padding:12px 14px; border-top:1px solid var(--border); }
.im-support-dialog textarea { min-width:0; width:100%; min-height:64px; max-height:110px; resize:none; border:1px solid var(--border-md); border-radius:12px; background:var(--surface); color:var(--text); padding:12px; font:14px/1.5 var(--font-body,sans-serif); }
.im-support-dialog [type=submit] { flex:none; width:44px; height:44px; align-self:center; border:0; border-radius:13px; background:var(--blue); color:#fff; font-size:25px; cursor:pointer; }
.im-support-dialog > footer { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:0 14px 13px; font-size:11px; color:var(--text-soft); }
.im-support-dialog footer button { border:0; background:none; color:var(--text); font-size:12px; cursor:pointer; padding:6px; }
@media(max-width:768px) {
  .im-support-launcher { top:8px; right:100px; bottom:auto; width:40px; min-height:40px; padding:9px; border-radius:11px; box-shadow:none; }
  .im-support-launcher > span { display:none; }
  .im-support-launcher svg { width:21px; height:21px; }
  .im-support-dialog { inset:auto 10px calc(80px + env(safe-area-inset-bottom, 0px)) auto; width:calc(100vw - 20px); max-width:none; height:min(620px, 65dvh); max-height:calc(100dvh - 150px); border-radius:18px; }
  .im-support-dialog textarea { font-size:16px; }
}
.kw-agenda-searchbar { display:block; }
.kw-agenda-extra-filters { margin:12px 0; font-size:13px; color:var(--text-soft); }
.kw-agenda-extra-filters > summary { cursor:pointer; padding:8px 0; font-weight:600; min-height:36px; }
.kw-agenda-extra-filters .kw-agenda-filters { margin-top:10px; }
@media(max-width:768px) {
  .kw-work-toolbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; align-items:center; }
  .kw-work-toolbar > p { margin:0; }
  .kw-insight-toolbar-actions { display:contents; }
  .kw-work-toolbar .kw-work-period { margin:0; min-width:0; }
  .kw-work-toolbar .kw-work-period .kw-select-control { width:100%; }
  .kw-work-toolbar .kw-dashboard-new-task,.kw-work-toolbar [data-action=dashboard-new-chat] { justify-content:center; min-width:0; }
  .kw-work-metrics-compact { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .kw-work-metrics-compact .kw-work-metric:first-child { display:none; }
  .kw-work-metrics-compact .kw-work-metric { padding:12px 10px; min-height:97px; }
  .kw-work-metrics-compact .kw-work-metric > span { font-size:12px; line-height:1.45; align-items:flex-start; }
  .kw-work-metrics-compact .kw-work-metric > span > svg { display:none; }
  .kw-work-metrics-compact .kw-work-metric > strong { font-size:25px; margin:8px 0 0; }
  .kw-work-metrics-compact .kw-work-metric > small { display:none; }
  .kw-work-section-heading { align-items:center; margin-top:16px; }
  .kw-work-section-heading p { display:none; }
  .kw-work-section-heading h3 { font-size:20px; }
  .kw-task-quickfilters [data-dashboard-filter=waiting],.kw-task-quickfilters [data-dashboard-filter=followups] { display:none; }
}
@media(max-width:768px) {
  .kw-insight-dashboard .kw-work-section-heading { display:none; }
  .kw-insight-dashboard .kw-work-metrics-compact { margin-top:16px; }
}
@media(max-width:768px) {
  .kw-insight-dashboard .kw-work-toolbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:12px; }
  .kw-insight-dashboard .kw-insight-toolbar-actions { display:contents; }
  .kw-insight-dashboard .kw-insight-toolbar-actions > * { width:100%; min-width:0; }
  .kw-scroll:has(.kw-insight-dashboard) > .kw-breadcrumb { display:none; }
  .kw-insight-dashboard .kw-task-quickfilters { flex-wrap:nowrap; }
  .kw-insight-dashboard .kw-task-quickfilters button { flex:1 1 0; min-width:0; white-space:normal; padding:7px 4px; font-size:12px; }
}
@media(max-width:768px) {
  .kw-insight-dashboard .kw-work-toolbar > p { grid-column:1; grid-row:1; }
  .kw-insight-dashboard .kw-work-toolbar .kw-work-period { grid-column:2; grid-row:1; }
  .kw-insight-dashboard .kw-insight-project { display:none; }
}
.kw-analytics-controls { display:flex; justify-content:flex-end; margin:0 0 16px; }
.kw-analytics-controls .kw-work-period { margin:0; font-size:13px; }
@media(max-width:768px) { .kw-insight-dashboard .kw-work-toolbar > p { grid-column:1 / -1; } }

/* Local support inference: keep the draft usable while an answer is pending. */
.im-support-pending { padding:10px 14px; font-size:13px; color:var(--text-soft); }
.im-support-pending > span { display:inline-block; color:var(--blue); letter-spacing:2px; animation:im-support-pulse 1.4s ease-in-out infinite; }
.im-support-fallback { display:block; margin-top:10px; color:var(--text-soft); font-size:12px; }
.im-support-dialog [type=submit]:disabled { opacity:.5; cursor:wait; }
@keyframes im-support-pulse { 50% { opacity:.35; } }
@media(prefers-reduced-motion:reduce) { .im-support-pending > span { animation:none; } }

/* The modeless help window leaves navigation and page controls interactive. */
.im-support-launcher[data-support-unread=true]::after { content:'1'; position:absolute; top:-5px; right:-5px; width:22px; height:22px; display:grid; place-items:center; border:2px solid var(--blue); border-radius:50%; background:var(--surface); color:var(--blue); font:700 12px var(--font-body,sans-serif); }
.im-support-launcher[data-support-pending=true]::after { content:''; position:absolute; top:-3px; right:-3px; width:16px; height:16px; border:3px solid var(--surface); border-top-color:var(--blue); border-radius:50%; background:var(--surface); animation:im-support-spin 1s linear infinite; }
@keyframes im-support-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .im-support-launcher[data-support-pending=true]::after { animation:none; } }

/* A compact conversation bar is separate from dismissing the help window. */
.im-support-launcher[hidden],.im-support-dock[hidden] { display:none; }
.im-support-window-controls { display:flex; flex:none; gap:6px; margin-left:12px; }
.im-support-window-controls button { display:grid; place-items:center; padding:8px; transition:background .15s,border-color .15s; }
.im-support-window-controls button svg { width:21px; height:21px; }
.im-support-window-controls button:hover { background:var(--accent-soft-bg); border-color:var(--blue); }
.im-support-dialog > header > div:first-child { min-width:0; }
.im-support-dialog header > div:first-child > svg { flex:none; }
.im-support-dock { position:fixed; z-index:1150; right:22px; bottom:22px; display:flex; align-items:center; width:320px; max-width:calc(100vw - 24px); padding:7px; border:1px solid var(--border-md); border-radius:18px; background:var(--surface); color:var(--text); box-shadow:0 8px 30px rgba(15,30,60,.14); animation:im-support-dock-in .18s ease-out; }
.im-support-dock button { border:0; color:inherit; background:transparent; cursor:pointer; font:inherit; }
.im-support-dock button:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
.im-support-dock-restore { display:flex; flex:1; min-width:0; align-items:center; gap:11px; padding:6px; text-align:left; border-radius:12px; }
.im-support-dock-restore:hover,.im-support-dock-close:hover { background:var(--surface-2); }
.im-support-dock-icon { position:relative; display:grid; place-items:center; flex:none; width:38px; height:38px; border-radius:12px; color:#fff; background:var(--blue); }
.im-support-dock-icon svg { width:23px; height:23px; }
.im-support-dock-copy { display:flex; flex:1; min-width:0; flex-direction:column; gap:3px; }
.im-support-dock-copy strong { font-size:14px; font-weight:650; }
.im-support-dock-copy > span { font-size:12px; line-height:1.4; color:var(--text-soft); }
.im-support-dock-restore > svg { width:20px; height:20px; flex:none; color:var(--text-soft); }
.im-support-dock-close { display:grid; place-items:center; width:36px; height:36px; flex:none; padding:7px; border-radius:10px; }
.im-support-dock-close svg { width:20px; height:20px; }
.im-support-dock[data-unread=true] .im-support-dock-icon::after { content:''; position:absolute; width:10px; height:10px; right:-2px; top:-2px; border:2px solid var(--surface); border-radius:50%; background:var(--blue); }
.im-support-dock[data-unread=true] .im-support-dock-copy > span { color:var(--blue); font-weight:600; }
.im-support-dock[data-pending=true] .im-support-dock-icon::after { content:''; position:absolute; width:12px; height:12px; right:-3px; top:-3px; border:2px solid var(--surface); border-top-color:var(--blue); border-radius:50%; background:var(--surface); animation:im-support-spin 1s linear infinite; }
@keyframes im-support-dock-in { from { opacity:0; transform:translateY(10px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(max-width:768px) {
 .im-support-dock { right:12px; bottom:calc(80px + env(safe-area-inset-bottom, 0px)); width:320px; }
 .im-support-dialog > header { padding:14px; }
 .im-support-dialog header p { font-size:11px; }
 .im-support-window-controls { margin-left:8px; gap:4px; }
 .im-support-window-controls button { width:36px; height:36px; }
}
@media(prefers-reduced-motion:reduce) { .im-support-dock,.im-support-dock[data-pending=true] .im-support-dock-icon::after { animation:none; } }
.im-support-dialog[open] { transform-origin:bottom right; animation:im-support-dock-in .18s ease-out; }
@media(prefers-reduced-motion:reduce) { .im-support-dialog[open] { animation:none; } }
@media(max-width:768px) {
 .im-support-dock { top:8px; right:100px; bottom:auto; width:180px; max-width:calc(100vw - 180px); padding:4px; border-radius:13px; box-shadow:0 3px 12px rgba(15,30,60,.09); }
 .im-support-dock-restore { gap:7px; padding:4px; border-radius:9px; }
 .im-support-dock-icon { width:28px; height:28px; border-radius:9px; }
 .im-support-dock-icon svg { width:19px; height:19px; }
 .im-support-dock-copy strong { font-size:13px; white-space:nowrap; }
 .im-support-dock-copy strong > span,.im-support-dock-copy > span,.im-support-dock-restore > svg { display:none; }
 .im-support-dock-close { width:32px; height:32px; padding:6px; }
}
/* Conversation intake: mobile-first companion to business telephony. */
.kw-call-intro { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr); gap:32px; padding:28px; }
.kw-call-intro h3 { margin:12px 0; font-size:25px; line-height:1.25; }
.kw-call-intro p { color:var(--text-soft); font-size:15px; line-height:1.65; margin:10px 0 20px; }
.kw-call-symbol { display:grid; place-items:center; width:46px; height:46px; border:1px solid var(--kw-panel-edge); border-radius:14px; color:var(--blue); background:var(--accent-soft-bg); }
.kw-call-connection { align-self:center; padding:22px; background:var(--surface-2); border:1px solid var(--kw-panel-edge); border-radius:16px; }
.kw-call-connection strong { display:block; font-size:16px; line-height:1.5; }
.kw-call-connection p { margin:8px 0 14px; font-size:14px; }
.kw-call-connection-dot { display:block; width:8px; height:8px; border-radius:50%; background:var(--text-soft); margin-bottom:12px; }
.kw-call-section-head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:26px 0 14px; }
.kw-call-section-head h3 { margin:0; font-size:21px; }
.kw-call-section-head > span { color:var(--text-soft); font-size:13px; }
.kw-call-list { display:grid; gap:14px; }
.kw-call-item { padding:22px 24px; }
.kw-call-item-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; color:var(--text-soft); font-size:13px; }
.kw-call-item-title { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:12px 0; }
.kw-call-item h4 { font-size:19px; line-height:1.4; margin:0; overflow-wrap:anywhere; }
.kw-call-item > p { color:var(--text-soft); line-height:1.65; font-size:15px; white-space:pre-line; }
.kw-call-item > small { display:block; margin:8px 0; font-size:13px; color:var(--text-soft); }
.kw-call-state { display:inline-flex; flex:none; padding:6px 10px; border-radius:9px; border:1px solid var(--kw-panel-edge); font-size:12px; background:var(--surface-2); color:var(--text); }
.kw-call-state.is-case_created { background:var(--accent-soft-bg); color:var(--text); }
.kw-call-item-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.kw-call-empty { text-align:center; padding:40px 24px; }
.kw-call-empty h4 { margin:16px 0 8px; font-size:20px; }
.kw-call-empty p { color:var(--text-soft); font-size:15px; line-height:1.6; }
.kw-call-error { font-size:14px; color:var(--text); padding:14px; background:var(--surface-2); border:1px solid var(--kw-panel-edge); border-radius:12px; }
.kw-call-consent { display:flex; align-items:flex-start; gap:12px; font-size:14px; line-height:1.6; padding:14px; border:1px solid var(--kw-panel-edge); border-radius:12px; }
.kw-call-consent[hidden],.kw-call-consent-hint[hidden],.kw-call-delete-confirm[hidden] { display:none; }
.kw-call-consent input { margin-top:5px; width:18px; height:18px; flex:none; }
.kw-call-detail { padding:24px; overflow-y:auto; min-height:0; }
.kw-call-detail h3 { margin-top:24px; font-size:18px; }
.kw-call-detail p { font-size:15px; line-height:1.7; white-space:pre-line; overflow-wrap:anywhere; }
.kw-call-detail small { color:var(--text-soft); font-size:13px; }
.kw-call-detail blockquote { margin:12px 0; padding:12px 16px; border-left:3px solid var(--blue); background:var(--surface-2); border-radius:0 10px 10px 0; line-height:1.7; overflow-wrap:anywhere; }
.kw-call-transcript { margin-top:22px; }
.kw-call-transcript > summary { padding:12px 0; font-size:16px; font-weight:600; cursor:pointer; }
.kw-call-transcript p { padding:16px; background:var(--surface-2); border:1px solid var(--kw-panel-edge); border-radius:12px; }
.kw-call-detail ol { padding-left:22px; font-size:15px; line-height:1.7; }
.kw-call-delete-confirm { margin:18px 0 0; padding:14px; border:1px solid var(--kw-panel-edge); border-radius:12px; }
.kw-call-delete-confirm p { margin-top:0; }
.kw-call-pagination { display:flex; gap:12px; align-items:center; justify-content:flex-end; flex-wrap:wrap; margin-top:18px; font-size:13px; color:var(--text-soft); }
@media(max-width:768px) {
 .kw-mobile-nav [data-kw-view="calls"] { display:none; }
 .kw-call-intro { grid-template-columns:minmax(0,1fr); gap:20px; padding:22px; }
 .kw-call-intro h3 { font-size:23px; }
 .kw-call-connection { padding:18px; }
 .kw-call-item { padding:20px; }
 .kw-call-section-head,.kw-call-item-title { flex-direction:column; align-items:flex-start; gap:10px; }
 .kw-call-item-actions .kw-button { flex:1 1 auto; justify-content:center; }
 .kw-call-detail { padding:20px; }
}
.kw-call-intro.has-calls { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; padding:20px 24px; }
.kw-call-intro.has-calls > div:first-child > .kw-call-symbol,.kw-call-intro.has-calls > div:first-child > h3,.kw-call-intro.has-calls > div:first-child > p { display:none; }
.kw-call-intro.has-calls .kw-call-connection { padding:0; background:transparent; border:0; display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.kw-call-intro.has-calls .kw-call-connection-dot { margin:0; }
.kw-call-intro.has-calls .kw-call-connection strong { font-size:13px; }
.kw-call-intro.has-calls .kw-call-connection p { display:none; }
.kw-call-intro.has-calls .kw-call-connection .kw-text-link { font-size:13px; }

/* The pilot is visible only to its provisioned owner; the destination is masked. */
.kw-phone-test { padding:24px; margin:20px 0; }
.kw-phone-test-head { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.kw-phone-test h3 { font-size:22px; margin:6px 0 8px; }
.kw-phone-test p { color:var(--text-soft); line-height:1.6; font-size:14px; }
.kw-phone-test-head > div { min-width:0; }
.kw-phone-test-head .kw-button { flex-shrink:0; }
.kw-phone-test-status { list-style:none; margin:18px 0 0; padding:0; display:grid; gap:12px; }
.kw-phone-test-status li { border:1px solid var(--border); border-radius:14px; padding:16px; overflow-wrap:anywhere; }
.kw-phone-test-status li > div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:14px; }
.kw-phone-test-status time,.kw-phone-test-status small { color:var(--text-soft); font-size:13px; }
.kw-phone-test-status p { margin:10px 0 0; }
.kw-phone-test-status small { display:block; margin-top:10px; }
.kw-phone-test-status .kw-button { margin-top:12px; }
@media(max-width:640px) { .kw-phone-test { padding:20px; } .kw-phone-test-head { flex-direction:column; align-items:stretch; gap:12px; } .kw-phone-test-head .kw-button { width:100%; justify-content:center; } }
