/* Shared finish: neutral rules, readable type, green reserved for action and selection. */
:root {
  --ink: #242b27;
  --muted: #5f6c64;
  --line: #d7ded9;
  --rule-soft: #e8ece9;
  --control-line: #b8c4bc;
  --blue: #00833e;
  --pale: #f5f7f6;
  color-scheme: light;
  background: var(--pale);
  color: var(--ink);
}
.knowledge-page, .knowledge-dialog {
  --knowledge-line: var(--line);
  --knowledge-muted: var(--muted);
}
.team-page { --team-line: var(--line); --team-muted: var(--muted); }
.sidebar { border-right-color: var(--line); padding-top: 22px; scrollbar-width: thin; }
.brand { gap: 9px; }
.brand > span:last-child { font-weight: 700; letter-spacing: -.3px; }
.brand small { color: var(--muted); font-size: 11px; }
.project-tag { margin-top: 20px; border-color: var(--rule-soft); background: #f5f7f6; }
.project-tag small, .nav-label, .nav-group-label, .sidebar-bottom p { color: var(--muted); font-size: 11px; }
.nav-label { margin-top: 20px; }
.nav-group-label { padding-top: 19px; }
.nav-link { min-height: 42px; padding-block: 10px; color: #4e5c53; font-size: 13px; border-radius: 6px; }
.nav-link.active { color: #007735; background: #eaf4ee; box-shadow: inset 2px 0 #00833e; }
.icon { stroke-width: 1.75; }
.nav-link.active .icon { stroke-width: 1.9; }
.topbar { border-bottom-color: var(--rule-soft); }
.breadcrumb, .today, .user-switch select { font-size: 12px; color: var(--muted); }
.breadcrumb span:last-child { font-weight: 600; color: #37433b; }
.page-head, .knowledge-head, .team-page-head { align-items: flex-start; margin-bottom: 25px; flex-wrap: wrap; }
.page-head > div:first-child { flex: 1 1 360px; min-width: 0; }
.page-head .head-actions { padding-top: 2px; flex-wrap: wrap; }
h1, .knowledge-head h1, .team-page h1 { font-size: 27px; font-weight: 700; line-height: 1.4; letter-spacing: -.8px; color: var(--ink); word-break: keep-all; overflow-wrap: break-word; }
.page-head p, .knowledge-head p, .team-page-head p { font-size: 13px; color: var(--muted); line-height: 1.75; margin-top: 8px; }
.btn, .knowledge-page .btn, .knowledge-dialog .btn, .team-page .btn, .team-dialog .btn {
  min-height: 38px; padding: 9px 14px; border-color: #cbd5ce; border-radius: 6px;
  color: #35493c; font-size: 12px; font-weight: 600; box-shadow: none;
}
.btn:hover { background: #f4f7f5; border-color: #9aac9f; }
.btn.primary, .knowledge-page .btn.primary, .knowledge-dialog .btn.primary {
  background: #00833e; border-color: #00833e; color: #fff;
}
.btn.primary:hover, .knowledge-page .btn.primary:hover, .knowledge-dialog .btn.primary:hover {
  background: #006f34; border-color: #006f34; color: #fff;
}
.btn.dark { background: #305a41; border-color: #305a41; color: #fff; }
.btn.subtle { border-color: transparent; font-weight: 500; }
.btn.small { min-height: 32px; padding: 6px 10px; font-size: 12px; }
.btn.danger { color: #a83632; }
.btn.planned-button { color: #68766d; border-color: #cbd5ce; font-weight: 400; }
.icon-button { border-color: #cbd5ce; border-radius: 6px; }
:is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid #328456; outline-offset: 3px;
}
.panel, .table-wrap, .workspace-overview, .knowledge-workspace, .team-organization, .team-owner {
  border-color: var(--line); border-radius: 8px; box-shadow: none;
}
.panel-title, .knowledge-toolbar, .team-members-toolbar { border-color: var(--line); }
.panel-title h2, .knowledge-toolbar h2 { font-size: 15px; font-weight: 700; color: #303f35; }
.note, .knowledge-caption, .team-caption { color: var(--muted); font-size: 12px; line-height: 1.8; }
.notice, .knowledge-notice { border-color: #d9e4dc; background: #f2f7f3; color: #45634f; }
.notice.warn { background: #fff9ed; color: #785b23; border-color: #eadfc7; }
.notice.error { background: #fff1ed; color: #9c3c31; border-color: #edc9c2; }
.planned-tag { color: #79591c; background: #fff3d7; font-size: 11px; }
.demo-badge { color: #775c22; font-size: 11px; background: #fff9eb; border-color: #eadbb9; }
.knowledge-badge, .review-status { font-size: 11px; border-radius: 4px; }
.search-field input, .filter-row select, .field-control, .knowledge-search, .knowledge-filters select,
.team-search, .form-field input, .form-field select, .form-field textarea,
.knowledge-dialog .form-field input, .knowledge-dialog .form-field select, .knowledge-dialog .form-field textarea {
  border-color: var(--control-line); border-radius: 5px; font-size: 13px; color: #35483c;
}
.knowledge-search input, .team-search input { font-size: 13px; }
.knowledge-search:focus-within, .team-search:focus-within { outline: 3px solid #328456; outline-offset: 2px; }
input::placeholder, textarea::placeholder { color: #77827a; opacity: 1; }
.knowledge-search { width: 255px; }
.knowledge-toolbar { padding: 20px 23px; gap: 14px; }
.knowledge-toolbar p, .knowledge-subhead p { font-size: 12px; }
.experiments-table, .knowledge-recipe-table, .team-member-table { font-size: 13px; }
.experiments-table th, .knowledge-recipe-table th, .team-member-table th {
  font-size: 12px; font-weight: 600; color: #57685c; background: #f5f7f6; border-bottom-color: var(--line);
}
.experiments-table td, .knowledge-recipe-table td, .team-member-table td {
  font-size: 13px; color: #425449; border-bottom-color: var(--rule-soft);
}
.record-link { color: #2b4133; font-size: 13px; }
.record-meta, .table-foot, .knowledge-date, .knowledge-list-foot { color: var(--muted); font-size: 11px; }
.status { font-size: 11px; }
.record-kind { font-size: 10px; }
.knowledge-title-button { font-weight: 600; }
.knowledge-selection-strip, .knowledge-list-foot { background: #fafbf9; }
.research-workflow {
  background: #fff; border: 1px solid var(--line); border-radius: 7px;
  padding: 17px 22px; gap: 22px; margin-bottom: 18px;
}
.research-workflow a { font-size: 13px; font-weight: 600; color: #354c3d; gap: 10px; }
.research-workflow a span { font-size: 11px; color: #007735; }
.research-workflow i { color: #889b8e; }
.research-quick-links { gap: 8px; margin-bottom: 21px; }
.research-quick-links > .note { font-size: 11px; }
.research-intro { margin-bottom: 24px; gap: 24px; }
.research-intro strong { font-size: 14px; font-weight: 600; color: #344c3c; }
.research-intro p { font-size: 13px; color: var(--muted); line-height: 1.8; }
.research-intro > span { font-size: 11px; color: var(--muted); }
.research-list { background: #fafbf9; border-color: var(--line); }
.research-list-item { background: transparent; border-bottom-color: var(--line); padding: 23px; }
.research-list-item.selected { background: #edf5ef; box-shadow: inset 2px 0 #00833e; }
.research-list-item > strong { color: #2c4936; font-weight: 600; font-size: 14px; }
.research-list-item > p { color: #536b5b; font-size: 13px; line-height: 1.8; }
.research-list-item > small, .review-list-meta { font-size: 11px; color: #5f7265; }
.research-reader { padding: 28px 30px; }
.research-reader-head { border-color: var(--line); padding-bottom: 24px; }
.research-reader-head h2 { color: #253b2d; font-size: 23px; font-weight: 700; letter-spacing: -.6px; }
.research-reader-head > p { color: var(--muted); font-size: 12px; line-height: 1.8; }
.research-actions { gap: 8px; margin-top: 20px; }
.research-actions .btn { font-size: 12px; }
.review-text-section { margin-top: 26px; }
.review-text-section h3 { font-size: 13px; font-weight: 700; color: #3d5946; margin-bottom: 9px; }
.review-text-section > p { color: #435a4b; font-size: 14px; line-height: 1.9; }
.review-outcomes { border-color: var(--line); padding: 22px 0; gap: 24px; margin-top: 26px; }
.review-outcomes > .review-text-section + section { border-color: var(--line); padding-left: 24px; }
.review-source-list { background: #fafbf9; border-color: var(--line); border-radius: 5px; }
.review-source-list li + li { border-top-color: var(--rule-soft); }
.review-source-list li { font-size: 12px; padding: 12px 14px; }
.review-source-list small, .review-source-list p, .review-saved-summary > .note, .review-evidence-foot { font-size: 11px; }
.research-next-actions { border-color: var(--line); }
.research-next-actions p { font-size: 12px; color: var(--muted); }
.scene-layout { gap: 22px; }
.scene-toolbar .btn { background: #fff; border-color: #c4cfd3; }
.scene-stage { border-radius: 8px 8px 0 0; overflow: hidden; }
.scene-bottom { border-color: var(--line); border-radius: 0 0 8px 8px; color: #5c6d63; font-size: 11px; flex-wrap: wrap; }
.range-top { color: #4b6454; font-size: 12px; }
.range-top input { border-color: var(--control-line); color: #23633b; font-weight: 600; }
.range-limits { color: #62776a; font-size: 10px; }
.calc-box { border-color: #d5e1d8; background: #f4f8f5; }
.calc-box span, .calc-box small { color: #526f5b; font-size: 11px; }
.app-footer { color: var(--muted); font-size: 11px; }
dialog { border-color: var(--line); border-radius: 9px; }
.dialog-head, .dialog-foot { border-color: var(--line); }
@media (max-width: 1150px) {
  .research-reader { padding: 24px; }
  .research-reader-head h2 { font-size: 21px; }
}
@media (max-width: 760px) {
  .research-reader { padding: 23px 20px; }
  .research-list-item { padding: 18px 20px; }
  .research-workflow { gap: 12px; padding: 14px; }
  .research-workflow a { font-size: 12px; gap: 6px; }
  .research-intro { gap: 8px; }
  .review-outcomes { gap: 16px; }
  .review-outcomes > .review-text-section + section { padding-left: 16px; }
}
@media (max-width: 700px) {
  h1, .knowledge-head h1, .team-page h1 { font-size: 24px; }
  .page-head > div:first-child { flex-basis: 100%; }
  .page-head p { font-size: 12px; }
  .page-head .head-actions { width: 100%; gap: 8px; }
  .scene-toolbar { left: 12px; right: 12px; top: 12px; gap: 6px; flex-wrap: wrap; }
  .scene-toolbar .btn { font-size: 11px; padding-inline: 8px; }
  .scene-bottom { padding: 12px 15px; gap: 6px; }
  .knowledge-toolbar { padding: 18px; }
  .knowledge-search { width: 100%; }
  .research-reader-head h2 { font-size: 21px; }
  .review-text-section > p { font-size: 13px; }
  .research-quick-links > .note { font-size: 11px; }
}
@media (max-width: 400px) {
  .research-reader { padding: 21px 16px; }
  .research-workflow { column-gap: 10px; }
  .review-outcomes > .review-text-section + section { padding-left: 0; padding-top: 18px; }
  .knowledge-filters { width: 100%; }
  .head-actions .btn { white-space: normal; text-align: center; }
}
