@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap');

.checkin-workbench {
  --cw-ink: #191919;
  --cw-body: #4c4c4c;
  --cw-muted: #858585;
  --cw-line: #e8e8e8;
  --cw-soft: #f8f8f8;
  --cw-mono: 'DM Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  display: grid;
  grid-template-columns: minmax(350px, 41%) minmax(0, 1fr);
  width: 100%;
  height: 100%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  color: var(--cw-ink);
  font: 13px/1.5 Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.checkin-workbench *, .checkin-workbench *::before, .checkin-workbench *::after { box-sizing: border-box; }
.checkin-workbench button, .checkin-workbench input, .checkin-workbench select { font: inherit; }
.checkin-workbench button { cursor: pointer; }
.checkin-workbench button:focus-visible, .checkin-workbench input:focus-visible,
.checkin-workbench select:focus-visible, .checkin-workbench a:focus-visible,
.checkin-workbench [tabindex]:focus-visible { outline: 2px solid #171717; outline-offset: 2px; }
.checkin-workbench [hidden] { display: none !important; }
.cw-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

.cw-left, .cw-right { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.cw-left { border-right: 1px solid #dedede; }
.cw-page-head, .cw-response-head {
  display: flex;
  align-items: center;
  flex: 0 0 56px;
  gap: 9px;
  min-width: 0;
  padding: 0 19px;
  border-bottom: 1px solid var(--cw-line);
  color: #515151;
  font-size: 13px;
}
.cw-page-mark { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid #262626; color: #262626; font-size: 15px; }
.cw-page-head-spacer { flex: 1; }
.cw-local { color: var(--cw-muted); font: 10px var(--cw-mono); letter-spacing: .045em; white-space: nowrap; }
.cw-response-head { justify-content: space-between; }
.cw-response-head small { color: var(--cw-muted); font-size: 11px; text-align: right; }
.cw-left-scroll, .cw-right-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; }
.cw-left-scroll { flex: 1; }
.cw-right-scroll { flex: 1; }

.cw-context, .cw-questions { padding: 18px 18px 21px; border-bottom: 1px solid var(--cw-line); }
.cw-block-head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.cw-index, .cw-intro-caption, .cw-response-label, .cw-result-tag {
  color: #858585;
  font: 10px/1.4 var(--cw-mono);
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
}
.cw-block-head h2 { margin: 0; font-size: 14px; font-weight: 600; letter-spacing: -.025em; }
.cw-kind-switch { display: flex; border: 1px solid #e1e1e1; border-radius: 4px; overflow: hidden; }
.cw-kind-switch button {
  display: inline-flex; align-items: center; justify-content: center; flex: 1; gap: 7px;
  height: 35px; border: 0; border-right: 1px solid #e1e1e1; background: #fff;
  color: #626262; font-size: 12px;
}
.cw-kind-switch button:last-child { border-right: 0; }
@media (hover: hover) and (pointer: fine){.cw-kind-switch button:hover { background: #f7f7f7; color: #171717; }}
.cw-kind-switch button.is-active { background: #202020; color: #fff; }
.cw-kind-switch svg { width: 15px; height: 15px; }
.cw-search { position: relative; display: block; margin: 12px 0 0; }
.cw-search svg { position: absolute; left: 11px; top: 10px; color: #919191; }
.cw-search input {
  width: 100%; height: 38px; padding: 0 12px 0 36px;
  border: 1px solid #e2e2e2; border-radius: 3px; outline: 0;
  color: #222; background: #fafafa; font-size: 12px;
}
.cw-search input:focus { border-color: #9a9a9a; background: #fff; }
.cw-search input::placeholder { color: #9b9b9b; }
.cw-picker-list { margin-top: 11px; border: 1px solid var(--cw-line); border-radius: 3px; max-height: 212px; overflow-y: auto; }
.cw-context-item {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 55px;
  padding: 9px 11px; border: 0; border-bottom: 1px solid #ededed;
  background: #fff; color: #282828; text-align: left;
}
.cw-context-item:last-child { border-bottom: 0; }
@media (hover: hover) and (pointer: fine){.cw-context-item:hover { background: #f7f7f7; }}
.cw-context-item.is-active { background: #f3f3f3; box-shadow: inset 3px 0 #252525; }
.cw-context-mark { display: grid; place-items: center; flex: 0 0 28px; height: 28px; border: 1px solid #dfdfdf; border-radius: 3px; background: #fff; color: #555; }
.cw-context-mark svg { width: 15px; height: 15px; }
.cw-context-copy { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
.cw-context-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 600; }
.cw-context-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #777; font-size: 11px; }
.cw-item-arrow { margin-left: auto; color: #999; font-size: 20px; line-height: 1; }
.cw-empty-list { padding: 14px; margin: 0; color: #777; font-size: 12px; }
.cw-search-status { min-height: 0; color: #777; font-size: 11px; }
.cw-search-status:not(:empty) { margin-top: 7px; }
.cw-inline-add { display: inline-block; margin-top: 11px; padding: 0; border: 0; background: transparent; color: #323232; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
@media (hover: hover) and (pointer: fine){.cw-inline-add:hover { color: #000; }}

.cw-state-preview { margin: 0; padding: 17px 19px 18px; border-bottom: 1px solid var(--cw-line); background: #fafafa; }
.cw-state-preview > span { color: #777; font: 10px var(--cw-mono); letter-spacing: .04em; }
.cw-state-preview p { margin: 8px 0 7px; color: #292929; font-size: 13px; line-height: 1.5; }
.cw-state-preview small { color: #777; font-size: 11px; }
.cw-state-empty p { color: #858585; }
.cw-questions { border-bottom: 0; }
.cw-field { display: block; margin: 0 0 13px; }
.cw-field > span { display: block; margin-bottom: 6px; color: #5a5a5a; font-size: 11px; }
.cw-field select { width: 100%; min-height: 38px; padding: 8px 28px 8px 10px; border: 1px solid #dfdfdf; border-radius: 3px; background: #fff; color: #222; font-size: 12px; }
.cw-question-note { max-width: 370px; margin: 13px 0 0; color: #858585; font-size: 11px; line-height: 1.5; }
.cw-runbar { display: flex; align-items: center; justify-content: space-between; flex: 0 0 44px; border-top: 1px solid var(--cw-line); background: #fff; }
.cw-runbar > span { padding-left: 18px; color: #8b8b8b; font-size: 10px; }
.cw-runbar kbd { display: inline-grid; place-items: center; min-width: 18px; min-height: 18px; border: 1px solid #e0e0e0; border-radius: 2px; font: 10px var(--cw-mono); }
.cw-runbar button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; align-self: stretch; min-width: 94px; padding: 0 16px; border: 0; background: #1d1d1d; color: #fff; font-size: 12px; }
@media (hover: hover) and (pointer: fine){.cw-runbar button:hover:not(:disabled) { background: #383838; }}
.cw-runbar button:disabled { background: #aaa; cursor: not-allowed; }
.cw-runbar svg { width: 15px; height: 15px; }

.cw-intro { width: min(100%, 610px); margin: 0 auto; padding: clamp(35px, 6vw, 76px) 36px 70px; }
.cw-intro-symbol { display: grid; place-items: center; width: 83px; height: 83px; margin-bottom: 28px; border: 1px solid #d9d9d9; background: radial-gradient(circle at 34% 31%, #e7d9ff 0, #d6f5e9 34%, #f9e4d9 73%, #f3f3f3 100%); color: #202020; font-size: 48px; line-height: 1; }
.cw-intro h2 { margin: 10px 0 9px; font-size: clamp(23px, 2.7vw, 34px); font-weight: 500; letter-spacing: -.055em; line-height: 1.1; }
.cw-intro > p { max-width: 470px; margin: 0; color: #6e6e6e; font-size: 13px; line-height: 1.6; }
.cw-intro-divider { height: 1px; margin: 35px 0 21px; background: #e8e8e8; }
.cw-example-list { margin-top: 10px; border-top: 1px solid var(--cw-line); }
.cw-example-list button { display: flex; align-items: center; width: 100%; gap: 14px; padding: 14px 2px; border: 0; border-bottom: 1px solid var(--cw-line); background: #fff; color: #2b2b2b; text-align: left; }
@media (hover: hover) and (pointer: fine){.cw-example-list button:hover { background: #f8f8f8; }}
.cw-example-list button span { color: #a0a0a0; font: 11px var(--cw-mono); }
.cw-example-list button strong { flex: 1; font-size: 13px; font-weight: 500; }
.cw-example-list svg { color: #888; }
.cw-intro-note { margin-top: 22px; color: #969696; font-size: 11px; }
.cw-empty-action { min-height: 36px; padding: 0 14px; border: 1px solid #222; border-radius: 2px; background: #222; color: #fff; font-size: 12px; }
@media (hover: hover) and (pointer: fine){.cw-empty-action:hover { background: #3b3b3b; }}

.cw-result-lead { padding: 28px 34px 26px; border-bottom: 1px solid #e5e5e5; }
.cw-result-tag { color: #737373; }
.cw-result-lead h2 { margin: 8px 0 7px; font-size: clamp(24px, 2.7vw, 35px); font-weight: 500; letter-spacing: -.055em; line-height: 1.12; }
.cw-result-lead p { max-width: 650px; margin: 0; color: #747474; font-size: 12px; line-height: 1.55; }
.cw-response-row { display: grid; grid-template-columns: 29px minmax(0,1fr); gap: 14px; padding: 19px 34px 22px; border-bottom: 1px solid #e9e9e9; }
.cw-response-number { padding-top: 2px; color: #969696; font: 11px var(--cw-mono); }
.cw-response-label { color: #7d7d7d; }
.cw-response-content { min-width: 0; }
.cw-response-content h3 { margin: 5px 0 9px; color: #202020; font-size: 16px; font-weight: 600; letter-spacing: -.03em; line-height: 1.35; }
.cw-response-content > p, .cw-response-content > small { display: block; max-width: 700px; margin: 0 0 10px; color: #616161; font-size: 12px; line-height: 1.55; }
.cw-response-content > small { color: #898989; font-size: 11px; }
.cw-quote { display: flex; gap: 9px; max-width: 680px; margin: 11px 0 0; padding: 10px 12px; border-left: 2px solid #4a4a4a; background: #f7f7f7; color: #424242; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.cw-quote > svg { flex: 0 0 15px; margin-top: 1px; color: #858585; }
.cw-quote span { min-width: 0; }
.cw-quote small { display: block; margin-top: 6px; color: #898989; font: 10px var(--cw-mono); }
.cw-observation-list { display: grid; gap: 10px; }
.cw-observation { border: 1px solid #e9e9e9; border-radius: 3px; padding: 11px 12px; }
.cw-observation strong { font-size: 12px; font-weight: 600; }
.cw-finding-basis { display: block; margin-top: 2px; color: #888; font: 10px var(--cw-mono); }
.cw-observation p { margin: 3px 0 0; color: #676767; font-size: 11px; }
.cw-observation .cw-quote { margin-top: 10px; }
.cw-note-badge { display: inline-block; margin-top: 7px; color: #888; font: 10px var(--cw-mono); }
.cw-no-evidence { margin: 0; color: #888; font-size: 12px; }
.cw-unknown-list { margin: 3px 0 0; padding-left: 18px; color: #5c5c5c; font-size: 12px; }
.cw-unknown-list li { margin: 0 0 7px; }
.cw-open-detail { display: inline-flex; align-items: center; gap: 8px; margin: 22px 34px 35px; padding: 0 0 4px; border: 0; border-bottom: 1px solid #555; background: transparent; color: #292929; font-size: 12px; }
@media (hover: hover) and (pointer: fine){.cw-open-detail:hover { color: #000; border-bottom-color: #000; }}

.cw-side-grid { display: grid; gap: 10px; }
.cw-side-group { border: 1px solid #e5e5e5; border-radius: 3px; }
.cw-side-head { display: flex; align-items: center; justify-content: space-between; padding: 8px 11px; border-bottom: 1px solid #e9e9e9; background: #fafafa; }
.cw-side-head strong { font-size: 11px; font-weight: 600; }
.cw-side-head span { color: #888; font: 10px var(--cw-mono); }
.cw-side-entry { padding: 10px 11px 12px; border-bottom: 1px solid #ededed; }
.cw-side-entry:last-child { border-bottom: 0; }
.cw-side-entry > p { margin: 0 0 8px; color: #333; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.cw-side-group > .cw-no-evidence { padding: 11px; }
.cw-source { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px 12px; }
.cw-source-label { color: #777; font: 10px var(--cw-mono); overflow-wrap: anywhere; }
.cw-source-review { display: inline-block; color: #765c39; font-size: 10px; line-height: 1.4; }
.cw-source-review-notice { margin-top: 15px; padding: 11px 12px; border: 1px solid #e3dacb; border-radius: 9px; background: #fcfaf6; }
.cw-source-review-notice > strong { color: #66533a; font-size: 11px; font-weight: 600; }
.cw-source-review-notice > p { margin-top: 4px; font-size: 11px; }
.cw-source-review-notice .cw-intel-actions { margin-top: 7px; }
.cw-other-topic-sources { margin-top: 14px; }
.cw-other-topic-sources > summary { color: #555; font-size: 11px; cursor: pointer; }
.cw-other-topic-sources > .cw-source-index { margin-top: 10px; }
.cw-response-head[data-cw-response-heading] { scroll-margin-top: 8px; }
.cw-unsourced { color: #9b6c63; }
.cw-source details { width: 100%; }
.cw-source summary { display: inline-block; color: #555; font-size: 11px; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.cw-source a { color: #333; font-size: 11px; text-decoration: underline; text-underline-offset: 2px; }
@media (hover: hover) and (pointer: fine){.cw-source a:hover { color: #000; }}
.cw-source-index { display: grid; gap: 10px; }
.cw-source-index > div { padding: 11px 12px; border: 1px solid #e8e8e8; border-radius: 3px; }
.cw-source-index strong { display: block; font-size: 12px; }
.cw-source-index > div > span { display: block; margin: 2px 0 7px; color: #8a8a8a; font-size: 10px; }
.cw-method-note { margin: 11px 0 0; color: #858585; font-size: 10px; line-height: 1.5; }
.cw-intel-list { display: grid; gap: 8px; }
.cw-more-passages { margin-top: 12px; }
.cw-more-passages > summary { width: fit-content; margin-bottom: 11px; color: #454545; font-size: 11px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.cw-intel-item { padding: 11px 12px; border: 1px solid #e8e8e8; border-radius: 3px; background: #fff; }
.cw-intel-meta { display: block; margin-bottom: 5px; color: #777; font: 10px/1.4 var(--cw-mono); overflow-wrap: anywhere; }
.cw-intel-item strong { display: block; color: #303030; font-size: 12px; font-weight: 600; }
.cw-intel-item p { margin: 0; color: #555; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.cw-intel-quote { margin: 9px 0 0; padding: 8px 10px; border-left: 2px solid #aaa; background: #f7f7f7; color: #454545; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.cw-intel-item small { display: block; margin-top: 7px; color: #909090; font-size: 10px; line-height: 1.45; }
.cw-intel-item .cw-intel-quote small { margin-top: 4px; color: #777; font: 10px var(--cw-mono); }
.cw-intel-actions { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; }
.cw-inline-link { padding: 0 0 2px; border: 0; border-bottom: 1px solid #a8a8a8; background: transparent; color: #353535; font-size: 11px; line-height: 1.4; text-align: left; }
@media (hover: hover) and (pointer: fine){.cw-inline-link:hover { border-bottom-color: #202020; color: #111; }}
.cw-claim-overview { display: grid; gap: 0; margin-top: 16px; border-top: 1px solid var(--cw-line); }
.cw-claim-overview > .cw-intel-meta { margin: 12px 0 4px; }
.cw-claim-overview button { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 2px 10px; width: 100%; padding: 9px 3px; border: 0; border-bottom: 1px solid var(--cw-line); background: transparent; color: #333; text-align: left; }
@media (hover: hover) and (pointer: fine){.cw-claim-overview button:hover { background: #f8f8f8; }}
.cw-claim-overview button span { grid-row: span 2; color: #999; font: 10px var(--cw-mono); }
.cw-claim-overview button strong { font-size: 11px; font-weight: 600; }
.cw-claim-overview button small, .cw-claim-overview > small { color: #888; font-size: 10px; }
.cw-claim-overview > small { margin-top: 8px; }

/* Keep complete saved text inside its reading column, including long tokens. */
.cw-state-preview p, .cw-intro h2, .cw-result-lead h2, .cw-result-lead p,
.cw-response-content h3, .cw-response-content > p, .cw-response-content > small,
.cw-source-index strong, .cw-intel-item strong, .cw-unknown-list li,
.cw-claim-overview button strong, .cw-claim-overview button small,
.cw-intel-actions .cw-inline-link { overflow-wrap: anywhere; }
.cw-source-index > div, .cw-intel-item, .cw-side-group,
.cw-claim-overview button > strong, .cw-claim-overview button > small { min-width: 0; }
.cw-intel-actions .cw-inline-link { max-width: 100%; }

@media (max-width: 1000px) {
  .checkin-workbench { grid-template-columns: minmax(310px, 43%) minmax(0,1fr); }
  .cw-response-row { padding-left: 22px; padding-right: 22px; }
  .cw-result-lead { padding-left: 22px; padding-right: 22px; }
  .cw-open-detail { margin-left: 22px; }
}
@media (max-width: 720px) {
  .checkin-workbench { display: block; height: 100%; overflow-y: auto; }
  .cw-left, .cw-right { display: block; min-height: auto; }
  .cw-left { border-right: 0; border-bottom: 1px solid #dedede; }
  .cw-left-scroll, .cw-right-scroll { overflow: visible; }
  .cw-picker-list { max-height: 168px; }
  .cw-runbar { position: sticky; bottom: 0; height: 44px; z-index: 2; }
  .cw-response-head { min-height: 48px; }
  .cw-intro { padding: 32px 22px 50px; }
  .cw-result-lead { padding-top: 24px; }
  .cw-response-row { grid-template-columns: 25px minmax(0,1fr); gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .checkin-workbench { scroll-behavior: auto; }
}
