:root {
  color-scheme: light;
  --ink: #17213a;
  --muted: #687386;
  --line: #e6e9ef;
  --panel: #ffffff;
  --soft: #f7f8fa;
  --accent: #0f766e;
  --accent-soft: #dff5f1;
  --danger: #b42318;
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
}

/* Source-only Fundamental Stories v3.2 review. */
.source-review-workspace {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 520px);
  gap: 24px;
  align-items: start;
  overflow-x: clip;
}

.source-review-workspace > section,
.source-review-workspace > aside { min-width: 0; }

.source-disposition-workspace {
  width: 100%; min-width: 0; display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 520px);
  gap: 24px; align-items: start;
}
.source-disposition-workspace > section,
.source-disposition-workspace > aside { min-width: 0; }
.source-disposition-toolbar { position: sticky; top: 76px; z-index: 4; }
.source-filter-grid,
.source-bulk-grid,
.source-disposition-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.source-bulk-grid { align-items: end; margin-top: 12px; }
.source-disposition-list { display: grid; gap: 10px; }
.source-disposition-row { margin: 0; }
.source-disposition-row[hidden] { display: none; }
.source-disposition-heading { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: start; }
.source-disposition-heading p { margin: .25rem 0; }
.source-select { display: flex; gap: 6px; align-items: center; white-space: nowrap; }
.source-disposition-fields { margin-top: 12px; }
.source-reason-field,
.source-note-field { grid-column: span 2; }
.source-locator { word-break: break-all; }
.progress-track { height: 8px; border-radius: 999px; background: var(--line); overflow: hidden; margin: 14px 0 7px; }
.progress-track span { display: block; height: 100%; width: 0; background: var(--accent); transition: width .15s ease; }
.authority-span-list { display: grid; gap: 12px; min-width: 0; max-width: 100%; margin-top: 14px; }
.authority-span-card blockquote { margin: 14px 0; padding: 14px; border-left: 4px solid var(--accent); background: var(--soft); white-space: pre-wrap; overflow-wrap: anywhere; }
.authority-span-surfaces { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.authority-span-confirm { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 9px; align-items: center; min-width: 0; max-width: 100%; margin-top: 12px; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); white-space: normal; overflow-wrap: anywhere; }
.authority-span-confirm input[type="checkbox"],
.source-select input[type="checkbox"] { width: 18px; min-width: 18px; height: 18px; margin: 0; flex: 0 0 18px; }

.source-review-panel {
  position: sticky;
  top: 88px;
  max-height: calc(100dvh - 112px);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}

.source-review-flow {
  display: grid;
  gap: 12px;
  margin: 12px 0 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
}

.source-review-flow-summary {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.source-review-flow-summary h3 { margin: 2px 0 0; }

.source-review-stepper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.source-review-step-button {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 2px 7px;
  align-items: center;
  min-height: 58px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  color: var(--ink);
  text-align: left;
}

.source-review-step-button > span {
  display: grid;
  grid-row: 1 / 3;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #e8edf3;
  font-size: 12px;
  font-weight: 800;
}

.source-review-step-button small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.2;
}

.source-review-step-button.active {
  border-color: var(--accent);
  background: var(--accent-soft);
  box-shadow: 0 0 0 1px var(--accent);
}

.source-review-step-button.active > span { background: var(--accent); color: #fff; }

.source-review-stage {
  display: grid;
  gap: 12px;
}

.source-review-stage[hidden] { display: none; }

.source-advanced {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--soft);
  padding: 0 12px;
}

.source-advanced > summary {
  cursor: pointer;
  padding: 13px 0;
  color: var(--ink);
  font-weight: 750;
}

.source-advanced[open] { padding-bottom: 14px; }
.source-advanced > section { padding: 12px 0; border-top: 1px solid var(--line); }
.source-advanced > section h4 { margin: 0 0 8px; }

.authority-entity-intro { width: 100%; min-width: 0; }
.authority-context-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 13px 0; }
.authority-context-grid span { display: grid; gap: 3px; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--soft); overflow-wrap: anywhere; }
.authority-context-grid strong { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.authority-entity-review-workspace {
  width: 100%; min-width: 0; display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(380px, .82fr);
  gap: 18px; align-items: start;
}
.authority-mobile-switch,
.authority-mobile-only { display: none; }
.authority-verify-next {
  width: 100%;
  min-height: 48px;
  margin-top: 12px;
  font-size: 15px;
}
.authority-document-pane { position: sticky; top: 74px; min-width: 0; padding: 14px; max-height: calc(100dvh - 90px); overflow: hidden; }
.authority-viewer-heading { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 10px; }
.authority-viewer-heading h2 { margin: 2px 0; }
.authority-pdf-viewer { display: block; width: 100%; height: calc(100dvh - 205px); min-height: 560px; border: 1px solid var(--line); border-radius: 10px; background: #eef1f5; }
.authority-viewer-status { margin: -4px 0 8px; color: var(--muted); font-size: 12px; }
.authority-review-panel { position: sticky; top: 74px; min-width: 0; max-width: 100%; max-height: calc(100dvh - 90px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; display: grid; gap: 12px; }
.authority-review-guide { min-width: 0; max-width: 100%; padding: 12px; border-left: 4px solid var(--accent); border-radius: 9px; background: #f0fdfa; line-height: 1.45; overflow-wrap: anywhere; }
.authority-review-guide p { margin: 0; }
.authority-span-navigation { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; }
.authority-span-navigation strong { text-align: center; white-space: nowrap; }
.authority-span-card[hidden] { display: none; }
.authority-span-card { min-width: 0; max-width: 100%; margin: 0; padding: 14px; overflow: clip; }
.authority-span-card .source-row-heading { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-width: 0; max-width: 100%; }
.authority-span-card .source-row-heading > * { min-width: 0; max-width: 100%; }
.authority-span-card code { display: block; max-width: 100%; font-size: 10px; white-space: normal; overflow-wrap: anywhere; word-break: break-all; }
.authority-span-card.verified { border-color: #86d9c8; background: #f0fdfa; }
.authority-span-card blockquote { max-width: 100%; max-height: 220px; overflow-x: hidden; overflow-y: auto; word-break: break-word; }
.authority-source-fallback { min-width: 0; max-width: 100%; }
.authority-source-fallback > summary { overflow-wrap: anywhere; }
.authority-source-fallback .graph-source-actions { display: grid; gap: 7px; margin-top: 8px; }
.authority-decision-section { border-top: 1px solid var(--line); padding-top: 12px; }
.authority-decision-section > summary { cursor: pointer; font-size: 18px; font-weight: 800; margin-bottom: 12px; }
.authority-choice-field { min-width: 0; margin: 0 0 16px; padding: 0; border: 0; }
.authority-choice-field legend { width: 100%; margin-bottom: 9px; color: var(--ink); font-size: 14px; font-weight: 750; line-height: 1.35; overflow-wrap: anywhere; }
.authority-choice-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.authority-choice-field.compact .authority-choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.authority-choice-card { display: grid; gap: 3px; min-width: 0; min-height: 54px; padding: 10px 12px; border: 1px solid #cfd8e3; border-radius: 11px; color: var(--ink); background: #fff; text-align: left; overflow-wrap: anywhere; }
.authority-choice-card:hover { border-color: #8fbeb6; background: #f4fbf9; }
.authority-choice-card:focus-visible { outline: 3px solid rgba(14, 137, 121, .2); outline-offset: 2px; }
.authority-choice-card strong { color: inherit; font-size: 14px; line-height: 1.2; }
.authority-choice-card small { color: var(--muted); font-size: 12px; font-weight: 500; line-height: 1.3; }
.authority-choice-card.selected { border-color: var(--accent); color: #075e57; background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent); }
.authority-choice-card.selected small { color: #176e65; }
.authority-choice-field.compact .authority-choice-card { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 9px 6px; text-align: center; }

@media (max-width: 850px) {
  .authority-entity-review-workspace { grid-template-columns: minmax(0, 1fr); }
  .authority-mobile-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin: 0 0 10px;
    padding: 5px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--soft);
  }
  .authority-mobile-switch button {
    min-height: 44px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: var(--muted);
    background: transparent;
    font-weight: 800;
  }
  .authority-mobile-switch button.active {
    border-color: #9acfc8;
    color: #075e57;
    background: white;
    box-shadow: 0 1px 5px rgba(15,23,42,.08);
  }
  .authority-mobile-only {
    display: inline-flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
  }
  .authority-entity-review-workspace[data-mobile-view="document"] .authority-review-panel,
  .authority-entity-review-workspace[data-mobile-view="review"] .authority-document-pane { display: none; }
  .authority-document-pane,
  .authority-review-panel { position: static; max-height: none; }
  .authority-document-pane { overflow: visible; }
  .authority-review-panel { overflow-x: clip; overflow-y: visible; }
  .authority-pdf-viewer { height: 58dvh; min-height: 440px; }
  .authority-verify-next {
    position: sticky;
    bottom: calc(8px + env(safe-area-inset-bottom));
    z-index: 13;
    margin: 10px 0 2px;
    box-shadow: 0 7px 22px rgba(15,118,110,.24);
  }
}

.source-stage-heading {
  padding: 12px;
  border-left: 4px solid var(--accent);
  border-radius: 9px;
  background: #f0fdfa;
}

.source-stage-heading h3 { margin: 3px 0 5px; }
.source-stage-heading p:last-child { margin: 0; color: var(--muted); line-height: 1.45; }

.source-review-navigation {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 14px;
}

.source-freeze-blockers .simple-note { margin: 0; }
.source-freeze-blockers ul { margin: 8px 0 0; padding-left: 20px; }
.source-freeze-blockers .good { border-left-color: var(--accent); background: #ecfdf5; }

.source-card-summary {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  cursor: pointer;
  list-style: none;
}

.source-card-summary::-webkit-details-marker { display: none; }
.source-card-summary > span:first-child { display: grid; gap: 3px; min-width: 0; }
.source-card-summary strong { color: var(--ink); line-height: 1.3; }
.source-card-summary small { color: var(--muted); overflow-wrap: anywhere; }
.source-page-card[open] .source-card-summary { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.source-card-body { padding-top: 12px; }

.source-region-picker {
  margin: 12px 0;
  padding: 12px;
  border: 1px solid #9acfc8;
  border-radius: 12px;
  background: #f0fdfa;
}
.source-region-picker[hidden] { display: none; }
.source-region-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.source-region-heading h4 { margin: 3px 0 0; color: var(--ink); font-size: clamp(15px, .35vw + 13px, 18px); }
.source-region-stage {
  display: flex;
  justify-content: center;
  max-height: 62dvh;
  margin: 10px 0;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #dfe4ea;
}
.source-region-canvas {
  --source-page-ratio: .707;
  position: relative;
  flex: 0 0 auto;
  width: min(100%, calc(62dvh * var(--source-page-ratio)));
  aspect-ratio: var(--source-page-ratio);
  background: white;
  user-select: none;
}
.source-region-image { display: block; width: 100%; height: 100%; object-fit: fill; pointer-events: none; }
.source-region-overlay { position: absolute; inset: 0; z-index: 2; cursor: crosshair; touch-action: none; }
.source-region-word { position: absolute; border: 1px solid transparent; border-radius: 2px; pointer-events: none; }
.source-region-word.selected { border-color: #0f766e; background: rgba(45,212,191,.28); }
.source-region-drag { position: absolute; z-index: 3; border: 2px solid #0f766e; background: rgba(20,184,166,.12); pointer-events: none; }
.source-region-status { min-height: 20px; margin: 7px 0; }
.source-region-actions { justify-content: flex-end; margin: 8px 0 0; }
.source-text-fallback { margin-top: 12px; }
.source-text-fallback > summary { padding: 4px 0; color: var(--muted); font-size: 12px; }

.source-page-card,
.source-fact-row,
.source-relationship-row,
.source-conflict-row { min-width: 0; }

.source-review-workspace,
.authority-entity-review-workspace { font-size: clamp(13px, .25vw + 12px, 15px); }
.source-review-workspace h1,
.authority-entity-intro h1 { font-size: clamp(22px, 1.4vw + 14px, 34px); line-height: 1.12; overflow-wrap: anywhere; }
.source-review-workspace h2,
.authority-entity-review-workspace h2 { font-size: clamp(18px, .65vw + 14px, 24px); line-height: 1.2; overflow-wrap: anywhere; }
.source-review-workspace h3,
.source-review-workspace h4,
.authority-entity-review-workspace h3 { overflow-wrap: anywhere; }
.source-review-workspace label,
.authority-entity-review-workspace label { min-width: 0; }
.source-review-workspace input,
.source-review-workspace select,
.source-review-workspace textarea,
.authority-entity-review-workspace input,
.authority-entity-review-workspace select,
.authority-entity-review-workspace textarea { min-width: 0; max-width: 100%; }

.source-page-card code,
.source-fact-row code,
.source-relationship-row code,
.source-conflict-row code { overflow-wrap: anywhere; }

.source-page-text {
  width: 100%;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  line-height: 1.55;
  white-space: pre-wrap;
}

.source-page-navigation {
  display: grid;
  grid-template-columns: minmax(180px, .55fr) minmax(260px, 1fr);
  gap: 10px 14px;
  align-items: end;
  margin: 14px 0 10px;
}

.source-page-navigation .toolbar { margin: 0; }
.source-page-navigation .source-search-status { grid-column: 1 / -1; margin: 0; }

.source-row-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
}

.source-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.source-date-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.source-span-proof { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
.source-span-proof input { width: 112px; }
.source-completeness { margin: 20px 0; border: 1px solid var(--line); border-radius: 14px; padding: 14px; }
.source-requirement-list { display: grid; gap: 8px; margin: 10px 0; padding: 0; list-style: none; }
.source-requirement { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; padding: 10px; border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: 9px; }
.source-requirement.warn { border-left-color: #d97706; }
.source-requirement small { grid-column: 1 / -1; color: var(--muted); line-height: 1.4; }

@media (max-width: 1180px) {
  .source-review-workspace { width: 100%; grid-template-columns: minmax(0, 1fr); }
  .source-disposition-workspace { width: 100%; grid-template-columns: minmax(0, 1fr); }
  .source-disposition-toolbar { position: static; }
  .source-review-panel { position: static; order: -1; max-height: none; overflow: visible; }
}

@media (max-width: 720px) {
  .source-review-workspace { gap: 10px; }
  .source-review-workspace input,
  .source-review-workspace select,
  .source-review-workspace textarea { font-size: 16px; }
  .source-disposition-workspace { gap: 10px; }
  .source-disposition-heading { grid-template-columns: 1fr; }
  .source-select { order: -1; }
  .source-reason-field,
  .source-note-field { grid-column: auto; }
  .source-form-grid,
  .source-date-grid { grid-template-columns: 1fr; }
  .source-page-navigation { grid-template-columns: 1fr; }
  .source-page-navigation .source-search-status { grid-column: 1; }
  .source-review-stepper {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }
  .source-review-step-button { flex: 0 0 138px; min-height: 52px; scroll-snap-align: start; }
  .source-review-flow-summary { align-items: flex-start; }
  .source-review-flow { margin-top: 8px; padding: 11px; }
  .source-review-panel { padding-bottom: 0; }
  .source-page-text { height: min(42dvh, 360px); min-height: 220px; resize: none; }
  .source-page-card .graph-source-actions { width: 100%; }
  .source-page-card .graph-source-actions .button-link { width: 100%; }
  .source-page-card .toolbar { display: grid; grid-template-columns: 1fr 1fr; }
  .source-page-navigation .toolbar { grid-template-columns: repeat(3, 1fr); }
  .source-page-card .toolbar button { min-width: 0; padding-inline: 8px; }
  .source-row-heading { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .source-region-stage { max-height: 56dvh; }
  .source-region-canvas { width: min(100%, calc(56dvh * var(--source-page-ratio))); }
  .source-region-actions { display: grid; grid-template-columns: 1fr 1.4fr; }
  .source-region-actions button { min-width: 0; min-height: 44px; padding-inline: 8px; }
  .source-page-text { font-size: 12px; line-height: 1.45; }
  .source-review-navigation { position: sticky; bottom: 64px; z-index: 14; margin: 10px -14px 0; padding: 9px 14px; border-top: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(10px); }
  .source-review-navigation button { flex: 1 1 0; min-height: 44px; }
  .authority-document-pane { padding: 10px; }
  .authority-viewer-heading { align-items: flex-start; gap: 8px; }
  .authority-viewer-heading .button-link { padding: 9px 10px; font-size: 12px; white-space: nowrap; }
  .authority-pdf-viewer { height: 52dvh; min-height: 340px; }
  .authority-span-navigation { padding: 7px; background: var(--soft); border: 1px solid var(--line); border-radius: 10px; }
  .authority-span-navigation button { min-height: 40px; padding: 8px; font-size: 12px; }
  .authority-span-navigation strong { font-size: 12px; }
  .authority-review-panel { gap: 9px; }
  .authority-review-guide { font-size: 14px; }
  .authority-context-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .source-review-flow-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .source-card-summary { align-items: flex-start; }
  .source-card-summary > .badge { white-space: nowrap; }
  .source-page-card .toolbar { grid-template-columns: 1fr; }
  .source-region-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
  .source-region-picker { margin-inline: -8px; padding: 9px; }
  .source-region-actions { grid-template-columns: 1fr; }
  .source-page-navigation .toolbar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .source-page-navigation .toolbar button { padding: 9px 4px; font-size: 12px; }
  .source-span-proof { display: grid; grid-template-columns: 1fr 1fr; }
  .source-span-proof input { width: 100%; }
  .source-span-proof button { grid-column: 1 / -1; }
}

/* Fundamental Event Graph review */
.two-column.graph-review-layout { display: grid; grid-template-columns: minmax(0, 1060px) minmax(340px, 380px); justify-content: center; gap: 24px; align-items: start; }
.graph-review-layout > .fact-evidence-column { min-width: 0; }
.graph-review-layout > .sticky-review { width: 100%; }
.graph-hero { display: flex; align-items: center; justify-content: space-between; gap: 28px; border-top: 5px solid var(--accent); }
.graph-hero > div:first-child { flex: 1 1 auto; min-width: 0; }
.graph-hero h1 { margin: 4px 0 8px; font-size: clamp(25px, 3vw, 38px); line-height: 1.08; color: var(--ink); }
.graph-hero-stats { display: grid; grid-template-columns: repeat(3, minmax(88px, 1fr)); align-self: center; gap: 8px; min-width: 310px; }
.graph-hero-stats span { display: grid; place-items: center; align-content: center; min-height: 108px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); text-align: center; font-size: 12px; }
.graph-hero-stats strong { display: block; color: var(--accent); font-size: 24px; }
.section-heading { margin: 28px 4px 12px; }
.section-heading h2 { margin: 3px 0 0; }
.graph-timeline { position: relative; display: grid; gap: 12px; }
.graph-timeline::before { content: ""; position: absolute; top: 24px; bottom: 24px; left: 24px; width: 2px; background: #cbd5e1; }
.graph-event { position: relative; margin-left: 8px; padding-left: 54px; }
.graph-event-line { display: contents; }
.graph-node-dot { position: absolute; z-index: 1; top: 25px; left: 12px; width: 18px; height: 18px; border: 4px solid #fff; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 2px #93c5fd; }
.graph-fact { display: grid; grid-template-columns: minmax(210px, .8fr) minmax(300px, 1.2fr); gap: 14px; margin-top: 14px; padding: 14px; border: 1px solid #dbe5ef; border-radius: 10px; background: #f8fafc; }
.graph-fact strong { display: block; margin: 3px 0; }
.graph-fact p { margin: 6px 0; }
.graph-fact small { color: var(--muted); }
.graph-fact-type { color: #036b5d; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.graph-edge-list, .graph-change-list { display: grid; gap: 10px; }
.graph-edge { padding: 16px; border: 1px solid var(--line); border-left: 4px solid #64748b; border-radius: 11px; background: #fff; }
.graph-edge > div:first-child { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 12px; align-items: center; }
.graph-edge > div:first-child strong { padding: 5px 9px; border-radius: 999px; background: #e2e8f0; color: #334155; font-size: 11px; text-align: center; }
.graph-edge > div:first-child span:last-child { text-align: right; }
.graph-interpretation { border-left: 5px solid #d97706; background: #fffaf0; }
.graph-attribution { border-left: 5px solid #0f766e; }
.graph-attribution.unresolved { border-left-color: #d97706; background: #fffbeb; }
.graph-dual { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.graph-dual > div { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.8); }
.graph-dual h4 { margin: 0 0 8px; }
.graph-dual p { margin: 6px 0; font-size: 13px; }
.graph-issue { border-left: 5px solid #d97706; }
.graph-score-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.graph-score-card { overflow: hidden; }
.graph-score-heading { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.graph-score-heading h2 { margin: 0; }
.graph-score-badges { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.graph-assumption { padding: 10px 12px; border: 1px solid #f1d08a; border-radius: 9px; background: #fff8e6; color: #7c4a03; font-size: 12px; }
.graph-calculation-proof { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0; }
.graph-calculation-proof > div { padding: 10px 12px; border: 1px solid #dbe5ef; border-radius: 9px; background: #f8fafc; }
.graph-calculation-proof span { display: block; color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.graph-calculation-proof strong { display: block; margin: 3px 0; }
.graph-calculation-proof p { margin: 4px 0 0; color: #475569; font-size: 12px; line-height: 1.45; }
.graph-export-actions { align-items: center; margin: 18px 0 0; }
.graph-export-actions .muted { max-width: 520px; font-size: 12px; }
.graph-source-list { display: grid; gap: 10px; }
.fundamental-recall-review { display: grid; gap: 12px; margin: 14px 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.recall-source-list { display: grid; gap: 8px; }
.recall-source-check { display: flex; align-items: flex-start; gap: 9px; padding: 9px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
.recall-source-check input { width: auto; margin-top: 3px; }
.recall-source-check span { display: grid; gap: 2px; min-width: 0; }
.recall-source-check small { color: var(--muted); overflow-wrap: anywhere; }
.fundamental-recall-row { margin: 9px 0; padding: 11px; }
.fundamental-recall-row textarea { resize: vertical; }
.graph-source-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, 290px); gap: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.graph-source-card h3 { margin: 4px 0 6px; }
.graph-source-card p { margin: 6px 0; }
.graph-source-actions { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 10px; }
.graph-company-container { border-top: 4px solid var(--ink); }
.graph-company-container h1 { margin: 4px 0 16px; }
.graph-company-score-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.graph-company-score-grid > div { display: grid; gap: 5px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; }
.graph-company-score-grid span, .graph-company-score-grid small { color: var(--muted); }
.graph-company-score-grid strong { font-size: 1.15rem; color: var(--ink); }
.graph-cutoff-card > div, .graph-v2-scope { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.graph-cutoff-card span, .graph-v2-scope span { display: grid; gap: 4px; padding: 10px; border-radius: 10px; background: #f8fafc; color: var(--muted); }
.graph-cutoff-card strong, .graph-v2-scope strong { color: var(--ink); font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; }
.graph-v2-facts { display: grid; gap: 14px; }
.graph-v2-fact-value { font-size: 1.05rem; font-weight: 650; color: var(--ink); }
.graph-v2-scope { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 12px 0; }
.graph-v2-milestone { border-left: 4px solid #d97706; }
.graph-unscored-reason { padding: 13px; border-radius: 10px; background: #fffbeb; color: var(--ink); }
.source-checksum { overflow-wrap: anywhere; color: var(--muted); font-size: 11px; }
.graph-change { display: grid; grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr); gap: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.graph-change strong { display: block; margin-top: 7px; }
.graph-change p { margin: 5px 0; }
.positive { color: #057a55; font-weight: 800; }
.negative { color: #b42318; font-weight: 800; }

@media (max-width: 1180px) {
  .two-column.graph-review-layout { grid-template-columns: minmax(0, 1fr); }
  .graph-review-layout > .sticky-review { position: static; width: min(100%, 760px); max-height: none; justify-self: center; order: -1; }
  .graph-score-grid { grid-template-columns: 1fr; }
  .graph-source-card { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .graph-hero { display: block; }
  .graph-hero-stats { min-width: 0; margin-top: 14px; }
  .graph-fact, .graph-dual, .graph-change, .graph-calculation-proof { grid-template-columns: 1fr; }
  .graph-edge > div:first-child { grid-template-columns: 1fr; }
  .graph-edge > div:first-child span:last-child { text-align: left; }
}
* { box-sizing: border-box; }
html { background: var(--soft); }
body { margin: 0; max-width: 100%; overflow-x: clip; background: var(--soft); color: #1f2937; min-height: 100vh; line-height: 1.45; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4, strong { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif; }
button, input, select, textarea { font: inherit; }
button { min-height: 40px; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
button:disabled { cursor: not-allowed; opacity: .5; }
.hidden { display: none !important; }
.login-view { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top, #dbeafe, transparent 48%), #f7f9fc; }
.login-card { width: min(420px, 100%); padding: 38px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 28px 70px rgba(23,37,84,.12); }
.login-card h1 { margin: 2px 0 6px; color: var(--ink); }
.brand-mark { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; background: var(--ink); color: white; font-weight: 800; font-size: 24px; }
.brand-mark.small { width: 34px; height: 34px; border-radius: 10px; font-size: 16px; }
.eyebrow { margin: 18px 0 0; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.muted { color: var(--muted); }
.field-help { margin: -10px 0 4px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.action-help { margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
label { display: grid; gap: 7px; margin: 18px 0; font-weight: 700; font-size: 13px; color: #334155; }
input, select, textarea { width: 100%; border: 1px solid #cbd5e1; border-radius: 10px; padding: 11px 12px; background: white; color: #0f172a; }
select { appearance: none; padding-right: 38px; background-image: linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%); background-position: calc(100% - 17px) 50%,calc(100% - 12px) 50%; background-size: 5px 5px,5px 5px; background-repeat: no-repeat; }
select[data-anchored-select="true"] { cursor: pointer; }
select[data-anchored-select="true"].select-menu-open { outline: 3px solid #ccfbf1; border-color: var(--accent); background-color: #f8fffd; }
.anchored-select-menu { position: fixed; z-index: 300; display: grid; gap: 2px; width: max-content; padding: 5px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #b8c7d6; border-radius: 11px; background: rgba(255,255,255,.99); box-shadow: 0 16px 42px rgba(15,23,42,.22),0 3px 10px rgba(15,23,42,.1); }
.anchored-select-menu[hidden] { display: none; }
.anchored-select-option { display: grid; grid-template-columns: minmax(0,1fr) 18px; gap: 10px; align-items: center; min-width: 100%; min-height: 38px; padding: 8px 10px; border: 0; border-radius: 7px; color: #334155; background: transparent; font-size: 13px; font-weight: 700; line-height: 1.3; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.anchored-select-option::after { content: ""; width: 16px; color: var(--accent); font-weight: 900; text-align: center; }
.anchored-select-option:hover, .anchored-select-option:focus-visible { outline: 0; color: var(--ink); background: #eef4f7; }
.anchored-select-option.selected { color: #075e57; background: var(--accent-soft); }
.anchored-select-option.selected::after { content: "✓"; }
.anchored-select-option:disabled { opacity: .45; cursor: not-allowed; }
input:focus, select:focus, textarea:focus { outline: 3px solid #ccfbf1; border-color: var(--accent); }
.draft-loading { opacity: .72; }
.primary, .secondary, .danger { border: 0; border-radius: 9px; padding: 10px 15px; font-weight: 750; }
.primary { color: white; background: var(--accent); }
.secondary { color: var(--ink); background: #e7edf6; }
.danger { color: white; background: var(--danger); }
.button-link { display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; padding: 11px 16px; font-weight: 800; text-decoration: none; }
.login-card .primary { width: 100%; margin-top: 4px; }
.error { min-height: 20px; color: var(--danger); }
.topbar { position: sticky; top: 0; z-index: 50; height: 60px; padding: 0 24px; background: rgba(255,255,255,.96); color: var(--ink); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; backdrop-filter: blur(14px); }
.brand, .topbar-meta { display: flex; align-items: center; gap: 12px; }
.role-pill { padding: 4px 8px; border-radius: 999px; color: #526173; background: #eef2f7; font-size: 10px; font-weight: 800; }
.topbar .brand-mark { background: var(--ink); color: white; }
.text-button { border: 0; background: transparent; color: var(--muted); }
.shell { min-height: calc(100vh - 60px); display: grid; grid-template-columns: 205px minmax(0,1fr); }
.sidebar { padding: 20px 12px; background: #fff; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 3px; }
.nav-button { border: 0; border-radius: 8px; padding: 10px 12px; background: transparent; color: #596275; font-weight: 650; text-align: left; }
.nav-icon { display: none; }
.nav-button:hover, .nav-button.active { background: #f0f3f7; color: var(--ink); }
.nav-button.active { box-shadow: inset 3px 0 var(--accent); }
.sidebar-note { margin-top: auto; padding: 12px; color: #8791a3; font-size: 11px; }
.content { width: 100%; max-width: 1720px; min-width: 0; margin-inline: auto; padding: 32px clamp(22px, 4vw, 54px); overflow-anchor: none; }
#workspace { position: relative; min-height: 220px; }
#workspace:not(.workspace-loading) > * { animation: view-enter .2s var(--ease-out) both; }
#workspace.workspace-loading { pointer-events: none; }
#workspace.workspace-loading::before { content: ""; position: fixed; z-index: 80; top: 59px; left: 0; width: 32%; height: 3px; border-radius: 999px; background: var(--accent); box-shadow: 0 0 12px rgba(15,118,110,.35); animation: loading-sweep .8s var(--ease-out) infinite alternate; }
.page-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.page-header h1 { color: var(--ink); margin: 0; font-size: 27px; letter-spacing: -.025em; }
.page-header.item-toolbar { justify-content: flex-end; margin-bottom: 12px; }
.page-header.item-toolbar #header-actions { margin-left: auto; }
#header-actions { display: flex; gap: 8px; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 16px; }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 18px; box-shadow: none; }
.card h2, .card h3 { margin: 0 0 8px; color: var(--ink); }
.next-step { margin-bottom: 16px; border-left: 5px solid var(--accent); }
.next-step .eyebrow, .system-card .eyebrow { margin: 0 0 8px; }
.system-card { min-height: 0; display: flex; flex-direction: column; justify-content: space-between; }
.system-card .toolbar { margin: 18px 0 0; }
.status-steps { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0 14px; }
.status-step { padding: 7px 10px; border-radius: 9px; color: #64748b; background: #eef2f7; font-size: 12px; font-weight: 800; }
.status-step.done { color: #0f766e; background: var(--accent-soft); }
.section-title { margin: 28px 0 14px; color: var(--ink); }
.compact-metric { min-height: 0; }
.workflow-note { margin-bottom: 16px; color: #334155; line-height: 1.55; }
.journey-guide { margin: 0 0 18px; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: white; }
.journey-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 15px; border: 0; list-style: none; }
.journey-heading::-webkit-details-marker { display: none; }
.journey-heading > span:first-child { display: grid; gap: 2px; min-width: 0; }
.journey-heading strong { color: var(--ink); }
.journey-heading small { color: var(--accent); font-size: 11px; font-weight: 800; }
.journey-toggle { color: var(--muted); font-size: 12px; font-weight: 750; white-space: nowrap; }
.journey-guide[open] .journey-heading { border-bottom: 1px solid var(--line); }
.journey-guide[open] .journey-toggle { font-size: 0; }
.journey-guide[open] .journey-toggle::after { content: "Hide workflow"; font-size: 12px; }
.journey-description { margin: 0; padding: 10px 15px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 12px; }
.journey-guide ol { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); margin: 0; padding: 0; list-style: none; }
.journey-guide li { min-width: 0; border-right: 1px solid var(--line); }
.journey-guide li:last-child { border-right: 0; }
.journey-guide button { width: 100%; min-height: 66px; display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 8px; align-items: center; padding: 10px 12px; border: 0; color: #526173; background: white; text-align: left; }
.journey-guide button:hover { background: #f8fafb; }
.journey-guide li.active button { color: #075e57; background: var(--accent-soft); }
.journey-number { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #64748b; background: #edf1f5; font-size: 11px; font-weight: 850; }
.journey-guide li.active .journey-number { color: white; background: var(--accent); }
.journey-guide button strong, .journey-guide button small { display: block; }
.journey-guide button strong { color: inherit; font-size: 12px; }
.journey-guide button small { margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.25; }
.page-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 16px; padding: 18px; border-radius: 13px; color: #334155; background: #f4f7f9; }
.page-intro.compact { padding: 15px 18px; }
.page-intro .eyebrow { margin: 0 0 4px; }
.page-intro h2 { margin: 0 0 5px; color: var(--ink); font-size: 19px; }
.page-intro p { max-width: 820px; margin: 0; line-height: 1.45; }
.campaign-queue-context { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 16px; align-items: center; margin: 0 0 14px; padding: 15px 17px; border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: 12px; background: white; }
.campaign-queue-context .eyebrow { margin: 0 0 3px; }
.campaign-queue-context h2 { margin: 0 0 3px; color: var(--ink); font-size: 18px; line-height: 1.25; }
.campaign-queue-context p:last-child { margin: 0; font-size: 12px; }
.metric { font-size: 30px; font-weight: 850; color: var(--ink); }
.badge { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: #e7edf6; color: #334155; font-size: 11px; font-weight: 800; }
.badge.good { background: var(--accent-soft); color: #0f766e; }
.badge.warn { background: #fff7d6; color: #92400e; }
.toolbar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.toolbar input { max-width: 340px; }
.list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.list > .card { border: 0; border-radius: 0; }
.list-row { width: 100%; border: 0; border-radius: 0; background: white; padding: 15px 17px; display: grid; grid-template-columns: minmax(180px,1.4fr) repeat(3,minmax(100px,.6fr)); gap: 14px; align-items: center; text-align: left; }
.list-row:hover { background: #fafbfc; }
.list-row strong { color: var(--ink); }
#queue-list .list-row > div:first-child .muted { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; line-height: 1.35; }
.list-row > .badge { justify-self: start; }
.review-set-row > div:first-child { display: grid; justify-items: start; gap: 5px; }
.set-fact { display: grid; justify-items: start; gap: 4px; }
.set-fact small { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.set-fact > span:not(.badge) { color: var(--muted); font-size: 11px; line-height: 1.3; }
.set-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.package-row { grid-template-columns: minmax(240px,1fr) minmax(110px,.35fr) auto; }
.package-row > div:first-child { display: grid; justify-items: start; gap: 5px; }
.problem-packages { margin-top: 14px; padding: 0; overflow: hidden; border: 1px solid #f1d59a; border-radius: 12px; background: #fffdf7; }
.problem-packages > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 0; color: #7c4a03; list-style-position: inside; }
.problem-packages > p { margin: 0; padding: 0 16px 13px; }
.problem-package-list { display: grid; gap: 1px; border-top: 1px solid #f1d59a; background: #f1d59a; }
.problem-package-card { padding: 14px 16px; background: white; }
.problem-package-card .eyebrow { display: block; margin: 0 0 5px; }
.problem-package-card strong { color: var(--ink); }
.score-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 10px; margin: 14px 0; }
.score { background: var(--soft); border-radius: 11px; padding: 12px; }
.score span { display: block; font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.score strong { display: block; margin-top: 5px; color: var(--ink); }
.two-column { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.7fr); gap: 18px; align-items: start; }
.two-column > section { display: grid; gap: 12px; }
.two-column > section > .card { margin: 0; }
.simple-data { margin: 12px 0 0; }
.simple-data > div { display: grid; grid-template-columns: minmax(110px,.35fr) minmax(0,1fr); gap: 18px; padding: 11px 0; border-top: 1px solid var(--line); }
.simple-data dt { color: var(--muted); font-size: 12px; font-weight: 750; }
.simple-data dd { margin: 0; color: var(--ink); overflow-wrap: anywhere; }
.queue-tools { display: grid; grid-template-columns: repeat(auto-fit,minmax(145px,1fr)); gap: 10px; align-items: center; margin-bottom: 14px; }
.queue-tools input, .queue-tools select { margin: 0; }
.queue-tools button { margin: 0; white-space: nowrap; }
.queue-tools #queue-count { justify-self: end; white-space: nowrap; font-size: 13px; }
.queue-pages { display: flex; justify-content: space-between; margin-top: 14px; }
.work-flow-tabs, .filter-tabs { display: flex; gap: 5px; margin: -4px 0 14px; padding: 5px; overflow-x: auto; border: 1px solid var(--line); border-radius: 11px; background: #eef2f6; }
.filter-tabs.category-tabs { margin-top: 0; background: #f7f9fb; }
.work-flow-tabs button, .filter-tabs button { flex: 0 0 auto; border: 0; border-radius: 8px; padding: 9px 14px; color: #5d6879; background: transparent; font-weight: 750; }
.work-flow-tabs button.active, .filter-tabs button.active { color: #075e57; background: white; box-shadow: 0 1px 4px rgba(15,23,42,.09); }
.filter-tabs button span { margin-left: 4px; color: #8490a2; font-size: 11px; }
.filter-tabs button.active span { color: #0f766e; }
.filter-toolbar { display: grid; grid-template-columns: minmax(220px,1fr) minmax(145px,200px) max-content; gap: 10px; align-items: center; margin-bottom: 14px; }
.filter-toolbar input, .filter-toolbar select { margin: 0; }
.filter-toolbar > .muted { justify-self: end; white-space: nowrap; font-size: 13px; }
.filter-toolbar input:only-child { grid-column: 1 / -1; }
.operational-filters { display: grid; grid-template-columns: minmax(180px,.7fr) minmax(180px,.8fr) minmax(240px,1.4fr) auto; gap: 10px; align-items: end; margin-bottom: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.operational-filters label { margin: 0; color: #526173; font-size: 11px; font-weight: 800; }
.operational-filters select, .operational-filters input { margin: 5px 0 0; }
.operational-filters button { min-height: 42px; }
.queue-filter-panel { grid-template-columns: repeat(auto-fit,minmax(155px,1fr)); }
.queue-filter-panel .filter-search { min-width: min(100%,240px); }
.compact-filters { grid-template-columns: minmax(190px,.7fr) minmax(260px,1.5fr) auto; }
.stock-filter-panel { display: grid; grid-template-columns: repeat(3,minmax(150px,1fr)) auto; gap: 10px; align-items: end; margin: -1px 0 10px; padding: 12px 13px; border: 1px solid #c9e8e2; border-radius: 12px; background: #f3fbf9; }
.stock-filter-panel label { margin: 0; color: #526173; font-size: 11px; font-weight: 800; }
.stock-filter-panel select { margin-top: 5px; }
.stock-filter-panel button { min-height: 42px; }
.access-guide-details { margin: 0 0 14px; padding: 0 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; }
.access-guide-details > summary { padding: 13px 0; }
.access-guide-details .access-guide { margin: 0 -14px; border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.filter-result-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 2px 10px; font-size: 12px; }
.filter-result-line strong { color: #075e57; }
.empty-state { text-align: center; padding: 34px 18px; }
.item-navigator { position: sticky; top: 10px; z-index: 20; margin: 0 0 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.97); box-shadow: 0 8px 24px rgba(15,23,42,.09); backdrop-filter: blur(10px); }
.item-navigator-main { display: grid; grid-template-columns: auto auto minmax(180px,1fr) auto; gap: 8px; align-items: center; padding: 9px 10px; }
.item-navigator-main button { min-height: 38px; }
.mobile-nav-label { display: none; }
.item-position { min-width: 0; text-align: center; }
.item-position strong { display: block; color: var(--ink); font-size: 13px; }
.item-position span { display: block; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.stock-group-navigation { display: flex; align-items: center; gap: 6px; padding: 7px 10px; overflow-x: auto; border-top: 1px solid var(--line); background: #f8fafb; }
.stock-group-navigation > span { margin-right: 3px; color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.stock-group-button { min-width: 42px; min-height: 30px; padding: 5px 11px; border: 1px solid var(--line); border-radius: 999px; color: #526173; background: white; font-size: 11px; font-weight: 850; }
.stock-group-button.active { border-color: var(--accent); color: #075e57; background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent); }
.stock-group-button.group-1:not(.active) { border-color: #bbebcb; color: #166534; }
.stock-group-button.group-2:not(.active) { border-color: #bfd8fd; color: #1d4ed8; }
.stock-group-button.group-3:not(.active) { border-color: #f5d983; color: #92400e; }
.stock-group-button.group-4:not(.active) { border-color: #f5c2c2; color: #991b1b; }
.stock-group-button.group-5:not(.active) { border-color: #d3d7dd; color: #4b5563; }
.quick-item-strip { display: flex; gap: 5px; min-height: 45px; padding: 7px 10px; overflow-x: auto; border-top: 1px solid var(--line); scrollbar-width: thin; }
.quick-item-button { position: relative; flex: 0 0 34px; width: 34px; height: 30px; padding: 0; border: 1px solid var(--line); border-radius: 7px; color: #526173; background: white; font-size: 11px; font-weight: 800; }
.quick-item-button:hover { border-color: #9fb7b3; background: #f5fbf9; }
.quick-item-button.active { border-color: var(--accent); color: #075e57; background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent); }
.quick-item-button.done::after, .quick-item-button.warn::after { content: ""; position: absolute; right: 3px; bottom: 3px; width: 6px; height: 6px; border-radius: 50%; background: #22a978; }
.quick-item-button.warn::after { background: #d97706; }
.mobile-panel-switch { display: none; }
.stock-list .list-row { grid-template-columns: minmax(230px,1.4fr) minmax(130px,.75fr) minmax(90px,.5fr) minmax(100px,.55fr); }
.stock-list small { color: var(--muted); }
.group-chip { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; background: #eef2f7; color: #42526a; font-size: 11px; font-weight: 800; }
.group-1 { background: #dcfce7; color: #166534; }
.group-2 { background: #dbeafe; color: #1d4ed8; }
.group-3 { background: #fef3c7; color: #92400e; }
.group-4 { background: #fee2e2; color: #991b1b; }
.group-5 { background: #e5e7eb; color: #4b5563; }
.rs-workstation { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(360px,.58fr); gap: 18px; align-items: start; }
.rs-evidence { display: grid; gap: 13px; min-width: 0; }
.stock-hero { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 4px 2px 12px; }
.stock-hero h2 { margin: 9px 0 4px; color: var(--ink); font-size: clamp(30px,4vw,46px); letter-spacing: -.045em; }
.stock-hero p { margin: 0; color: var(--muted); }
.stock-kicker { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; color: var(--muted); font-size: 12px; }
.percentile-ring { --value: 0; flex: 0 0 auto; width: 86px; height: 86px; display: grid; place-content: center; text-align: center; border-radius: 50%; background: radial-gradient(circle closest-side, var(--soft) 72%, transparent 73% 99%), conic-gradient(var(--accent) calc(var(--value) * 1%), #e3e8ee 0); }
.percentile-ring strong { color: var(--ink); font-size: 22px; line-height: 1; }
.percentile-ring span { color: var(--muted); font-size: 9px; margin-top: 3px; }
.visual-card { background: white; border: 1px solid var(--line); border-radius: 14px; padding: 18px; }
.visual-card h3 { margin: 3px 0 0; color: var(--ink); }
.chart-card { min-width: 0; max-width: 100%; overflow: hidden; }
.visual-heading, .chart-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.visual-heading .eyebrow, .chart-heading .eyebrow, .decision-heading .eyebrow { margin: 0; }
.chart-context { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.chart-series-tabs { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.chart-series-tab { border: 1px solid var(--line); border-radius: 999px; padding: 8px 12px; color: #526173; background: white; font-size: 12px; font-weight: 750; }
.chart-series-tab:hover { border-color: #9fb7b3; background: #f5fbf9; }
.chart-series-tab.active { border-color: var(--accent); color: #075e57; background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent); }
.chart-options { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 13px; }
.chart-options > div { display: flex; align-items: center; gap: 7px; }
.chart-options > div > span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.chart-tabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 3px; border-radius: 9px; background: var(--soft); }
.chart-tab { border: 0; border-radius: 7px; padding: 7px 10px; color: var(--muted); background: transparent; font-size: 12px; font-weight: 750; }
.chart-tab.active { background: white; color: var(--ink); box-shadow: 0 1px 3px rgba(15,23,42,.1); }
.chart-summary { display: flex; align-items: center; gap: 10px; min-height: 34px; margin-top: 8px; color: var(--muted); font-size: 12px; }
.chart-summary strong { color: var(--ink); font-size: 19px; }
.positive-text { color: #15803d; font-weight: 750; }
.negative-text { color: #b42318; font-weight: 750; }
.candle-chart { display: block; width: 100%; min-height: 250px; margin-top: 2px; }
.chart-grid { stroke: #e8ebf0; stroke-width: 1; }
.chart-date-grid { stroke: #f0f2f5; stroke-width: 1; stroke-dasharray: 2 4; }
.chart-axis-line { stroke: #cfd6df; stroke-width: 1; }
.chart-axis { fill: #7b8494; font-size: 10px; }
.last-price-line { stroke: #0f8077; stroke-width: 1; stroke-dasharray: 4 4; opacity: .62; }
.last-price-label { fill: #08756d; font-size: 10px; font-weight: 800; }
.candle line { stroke-width: 1.5; }
.candle rect { stroke-width: 1; }
.candle.up line, .candle.up rect { stroke: #15966f; }
.candle.up .candle-body { fill: white; stroke-width: 2; }
.candle.up .volume { fill: #31b88a; }
.candle.down line, .candle.down rect { stroke: #d2473f; fill: #e86861; }
.candle .volume { opacity: .2; stroke: none; }
.candle.incomplete { opacity: .58; stroke-dasharray: 3 2; }
.relative-performance { margin-top: 9px; padding-top: 15px; border-top: 1px solid var(--line); }
.relative-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.relative-heading h4 { margin: 3px 0 0; color: var(--ink); font-size: 14px; }
.relative-heading > span { color: var(--muted); font-size: 11px; font-weight: 750; }
.relative-legend { display: flex; flex-wrap: wrap; gap: 8px 15px; margin: 12px 0 2px; }
.relative-key { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 11px; }
.relative-key i { width: 15px; height: 3px; border-radius: 2px; background: #16213e; }
.relative-key strong { color: var(--ink); }
.relative-key.broad i { background: #3478c5; }
.relative-key.sector i { background: #d97706; }
.relative-chart { display: block; width: 100%; min-height: 125px; }
.relative-grid { stroke: #edf0f4; stroke-width: 1; }
.relative-base { stroke: #aab3bf; stroke-width: 1; stroke-dasharray: 4 4; }
.relative-line { fill: none; stroke: #16213e; stroke-width: 2.2; vector-effect: non-scaling-stroke; }
.relative-line.broad { stroke: #3478c5; }
.relative-line.sector { stroke: #d97706; }
.relative-empty { min-height: 92px; display: grid; place-items: center; color: var(--muted); font-size: 12px; }
.chart-empty, .chart-missing { min-height: 150px; display: grid; place-items: center; text-align: center; color: var(--muted); background: linear-gradient(135deg,#fff,#f6f8fa); }
.chart-missing h3 { margin-bottom: 5px; }
.chart-missing p { max-width: 560px; margin: 0; line-height: 1.5; }
.signal-grid { display: grid; grid-template-columns: repeat(4,minmax(120px,1fr)); gap: 10px; margin-top: 15px; }
.signal-card { padding: 12px; border-radius: 11px; background: var(--soft); }
.signal-card > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.signal-card span { color: var(--muted); font-size: 11px; font-weight: 700; }
.signal-card strong { color: var(--ink); }
.signal-card.positive strong, .timeframe-signal.positive strong { color: #087a57; }
.signal-card.negative strong, .timeframe-signal.negative strong { color: #b42318; }
.signal-track { position: relative; height: 5px; margin-top: 10px; border-radius: 4px; background: linear-gradient(90deg,#f4aaa5 0,#f3f4f6 50%,#8edbc4 100%); }
.signal-track::after { content: ""; position: absolute; left: 50%; top: -2px; width: 1px; height: 9px; background: #a4acb8; }
.signal-track i { position: absolute; top: 50%; width: 9px; height: 9px; border: 2px solid white; border-radius: 50%; background: var(--ink); box-shadow: 0 1px 3px rgba(0,0,0,.25); transform: translate(-50%,-50%); }
.timeframe-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 12px; }
.timeframe-signal { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 10px 12px; border-left: 3px solid #a8b0bc; background: #fafbfc; }
.timeframe-signal.positive { border-left-color: #22a978; background: #f1fbf7; }
.timeframe-signal.negative { border-left-color: #db5b53; background: #fff6f5; }
.timeframe-signal span { color: var(--ink); font-size: 12px; font-weight: 750; }
.timeframe-signal small { grid-column: 1 / -1; color: var(--muted); }
.evidence-details { padding: 0 18px; }
.evidence-details > summary { padding: 16px 0; }
.rs-decision { border-top: 4px solid var(--accent); padding: 20px; }
.rs-decision.sticky-review { max-height: none; overflow: visible; }
.rs-decision:has(.admin-tools[open]) { position: static; }
.admin-tools > summary { color: var(--muted); font-size: 12px; }
.decision-heading { margin-bottom: 8px; }
.decision-heading h3 { margin-top: 6px; line-height: 1.3; }
.quick-field { min-width: 0; margin: 19px 0; padding: 0; border: 0; }
.quick-field legend { margin-bottom: 8px; color: #334155; font-size: 13px; font-weight: 750; }
.quick-choices { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.quick-choices button { min-width: 0; padding: 10px 5px; border: 1px solid var(--line); border-radius: 10px; background: white; color: var(--muted); font-weight: 750; }
.quick-choices button:hover { border-color: #9fb7b3; background: #f5fbf9; }
.quick-choices button.selected { border-color: var(--accent); color: #075e57; background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent); }
.quick-choices kbd { margin-right: 4px; }
.correction-details { margin: 16px 0 0; border-top: 1px solid var(--line); }
.correction-details > summary { color: var(--muted); font-size: 13px; }
.decision-actions { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8px; margin-top: 18px; }
.decision-actions button { min-height: 44px; }
.decision-actions .primary { display: flex; justify-content: space-between; align-items: center; }
.decision-actions .primary span { opacity: .7; }
.shortcut-help { margin-top: 16px; color: var(--muted); font-size: 11px; }
.shortcut-help summary { color: var(--muted); font-size: 11px; }
kbd { display: inline-block; min-width: 20px; padding: 2px 5px; border: 1px solid #cfd5dd; border-bottom-width: 2px; border-radius: 5px; color: #526173; background: white; font-family: inherit; font-size: 10px; text-align: center; }
.sr-only { 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; }
.text-danger { padding: 4px 0; border: 0; color: var(--danger); background: transparent; font-size: 12px; }
.home-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(240px,.55fr); gap: 22px; align-items: start; }
.welcome { margin-bottom: 18px; }
.welcome h2 { margin: 0 0 5px; color: var(--ink); font-size: 22px; }
.welcome p { margin: 0; }
.review-menu { background: white; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.review-row { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 17px 18px; border-bottom: 1px solid var(--line); }
.review-row:last-child { border-bottom: 0; }
.review-row h3 { margin: 0 0 3px; color: var(--ink); font-size: 16px; }
.review-row p { margin: 0; font-size: 13px; }
.review-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #f0f4f7; color: var(--accent); font-weight: 850; }
.home-summary { background: white; border: 1px solid var(--line); border-radius: 13px; padding: 18px; }
.home-summary h3 { margin: 0 0 14px; color: var(--ink); }
.audit-home-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.audit-destination { min-height: 150px; display: grid; align-content: start; gap: 8px; border-top: 4px solid var(--accent); text-align: left; }
.audit-destination:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(15,23,42,.07); }
.audit-destination strong { color: var(--ink); font-size: 20px; }
.audit-destination small { color: var(--muted); font-size: 13px; line-height: 1.45; }
.read-only-note { margin: 14px 0 0; padding: 12px 14px; border-radius: 10px; color: #475569; background: #eef2f7; }
.advanced-panel .read-only-note { margin-bottom: 2px; font-size: 12px; }
.structured-correction-fields { display: grid; gap: 0; }
.audit-row { grid-template-columns: minmax(240px,1fr) minmax(120px,.3fr) minmax(145px,.3fr); }
.access-guide { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.access-guide article { display: grid; gap: 4px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.access-guide strong { color: var(--ink); }
.access-guide span, .team-row small { color: var(--muted); font-size: 11px; line-height: 1.35; }
.team-row > div:nth-child(2) { display: grid; gap: 3px; }
.summary-number { display: flex; justify-content: space-between; align-items: baseline; padding: 11px 0; border-bottom: 1px solid var(--line); color: var(--muted); }
.summary-number:last-child { border-bottom: 0; }
.summary-number strong { color: var(--ink); font-size: 22px; }
.lan-access-card { display: grid; grid-template-columns: minmax(260px,1fr) minmax(360px,1.2fr); gap: 24px; margin-bottom: 16px; border-top: 4px solid var(--accent); }
.lan-access-card h2 { margin: 5px 0 7px; color: var(--ink); font-size: 20px; }
.lan-access-card p { margin: 0; color: var(--muted); line-height: 1.5; }
.lan-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.lan-steps span { display: flex; align-items: center; gap: 8px; padding: 10px; border-radius: 10px; background: var(--soft); color: #475569; font-size: 12px; font-weight: 700; }
.lan-steps strong { width: 23px; height: 23px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: white; background: var(--accent); }
.lan-steps a { color: #075985; }
.simple-note { margin: 0 0 16px; color: var(--muted); }
.ocr-frame-shell { position: relative; height: calc(100dvh - 86px); margin: -18px -30px -30px; overflow: hidden; background: white; }
.ocr-frame-shell iframe { display: block; width: 100%; height: 100%; border: 0; background: white; opacity: 1; transition: opacity 180ms var(--ease-out); }
.ocr-frame-shell iframe.ocr-frame-loading { opacity: 0; pointer-events: none; }
.ocr-frame-status { position: absolute; z-index: 2; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; padding: 24px; color: var(--muted); text-align: center; background: linear-gradient(180deg,#fff,#f7fafb); }
.ocr-frame-status strong { color: var(--ink); font-size: 17px; }
.ocr-frame-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 6px; }
.loading-spinner { width: 30px; height: 30px; border: 3px solid #dbe6e9; border-top-color: var(--accent); border-radius: 50%; animation: spinner-turn .8s linear infinite; }
.ocr-platform-task { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: white; }
.ocr-task-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.ocr-task-heading .eyebrow { margin: 0 0 3px; }
.ocr-task-heading h2 { margin: 0; color: var(--ink); font-size: 18px; }
.ocr-frame-shell.task-frame { height: clamp(420px,calc(100dvh - 190px),780px); min-height: 0; margin: 0; }
.ocr-task-start { max-width: 720px; margin: 70px auto; text-align: center; }
.ocr-task-start .eyebrow { margin-top: 0; }

.team-dialog { width: min(460px,calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; overflow: auto; border: 0; border-radius: 18px; color: var(--ink); background: white; box-shadow: 0 28px 80px rgba(15,23,42,.24); }
.team-dialog::backdrop { background: rgba(15,23,42,.42); backdrop-filter: blur(3px); }
.team-dialog form { padding: 24px; }
.dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.dialog-heading h2 { margin: 2px 0 0; }
.icon-button { display: inline-grid; width: 42px; min-width: 42px; height: 42px; place-items: center; padding: 0; border-radius: 50%; color: var(--muted); background: var(--surface-soft); font-size: 24px; line-height: 1; }
.dialog-actions { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; margin-top: 20px; }
.details-note { margin: 14px 0 0; color: var(--muted); font-size: 12px; }
.details-note summary { cursor: pointer; color: #526173; font-weight: 700; }
.details-note p { line-height: 1.55; }
.advanced-panel { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 12px; }
.advanced-panel > summary { cursor: pointer; color: var(--muted); font-weight: 700; font-size: 13px; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; background: #f7f8fa; border-radius: 9px; padding: 13px; font-size: 12px; line-height: 1.55; }
.fact-brief-layout, .structured-review-layout { grid-template-columns: minmax(0,1.7fr) minmax(330px,.65fr); }
.sticky-review { position: sticky; top: 18px; max-height: calc(100vh - 100px); overflow: auto; }
.fact-brief-header { border-top: 5px solid var(--ink); }
.fact-brief-header .toolbar { margin-bottom: 12px; }
.document-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--muted); font-size: 13px; }
.source-link { color: #075985; font-weight: 800; text-decoration: none; }
.source-link:hover { text-decoration: underline; }
.brief-headline { margin: 14px 0; border-left: 5px solid var(--accent); }
.statement-list { display: grid; gap: 12px; }
.statement-card { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 14px; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: 0 8px 24px rgba(15,23,42,.04); }
.statement-card h3 { margin: 0 0 11px; color: var(--ink); line-height: 1.45; }
.qwen-selection-group { display: grid; gap: 12px; margin: 18px 0 26px; }
.qwen-selection-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 18px; border-radius: 14px; border: 1px solid var(--line); }
.qwen-selection-heading h2 { margin: 2px 0 0; }
.qwen-selection-heading.featured { background: #ecfdf5; border-color: #86efac; color: #065f46; }
.qwen-selection-heading.not-featured { background: #f8fafc; border-color: #cbd5e1; color: #334155; }
.selection-count { min-width: 38px; height: 38px; display: inline-grid; place-items: center; border-radius: 999px; background: white; border: 1px solid currentColor; font-weight: 800; }
.statement-featured { border-left: 5px solid #059669; }
.statement-not-featured { border-left: 5px solid #94a3b8; background: #f8fafc; }
.selection-explanation, .selection-note { color: var(--muted); line-height: 1.45; }
.selection-note { margin: 0; }
.statement-number { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ink); color: white; font-weight: 850; }
.fact-fields { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.citation-list { display: grid; gap: 8px; }
.citation { border: 1px solid var(--line); border-radius: 10px; padding: 0; background: #f8fafc; }
.citation summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; overflow-wrap: anywhere; font-size: 12px; }
.citation summary small { color: var(--muted); font-weight: 650; }
.citation blockquote { margin: 0; padding: 12px 14px; border-top: 1px solid var(--line); color: #334155; background: white; line-height: 1.55; white-space: pre-wrap; }
.blocked-control { margin: 14px 0; border-left: 5px solid #d97706; background: #fffbeb; }
.optional { color: var(--muted); font-weight: 500; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { padding: 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: #475569; background: #f8fafc; }
details { border-top: 1px solid var(--line); padding: 11px 0; }
summary { cursor: pointer; font-weight: 750; color: var(--ink); }
.toast { position: fixed; z-index: 150; right: 22px; bottom: 22px; max-width: 420px; transform: translateY(90px) scale(.98); opacity: 0; transition: transform .22s var(--ease-out), opacity .18s ease; background: #102a43; color: white; padding: 13px 16px; border-radius: 10px; box-shadow: 0 14px 40px rgba(15,23,42,.22); }
.toast.show { transform: translateY(0); opacity: 1; }
.toast.error { background: var(--danger); }
@media (min-width: 821px) and (max-width: 1100px) {
  .queue-tools { grid-template-columns: 1fr 1fr 1fr; }
  .queue-tools #queue-search { grid-column: span 2; }
  .queue-tools #queue-count { justify-self: start; }
}
@media (max-width: 820px) {
  .shell { grid-template-columns: 1fr; }
  .sidebar { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); padding: 9px; }
  .sidebar-note { display: none; }
  .content { padding: 20px 14px; }
  .ocr-frame-shell { height: calc(100dvh - 120px); margin: -20px -14px; }
  .ocr-frame-shell.task-frame { height: clamp(360px,calc(100dvh - 170px),680px); min-height: 0; margin: 0; }
  .two-column { grid-template-columns: 1fr; }
  .home-layout { grid-template-columns: 1fr; }
  .audit-home-grid { grid-template-columns: 1fr; }
  .access-guide { grid-template-columns: 1fr; }
  .journey-heading { display: block; }
  .journey-heading span { display: block; margin-top: 4px; text-align: left; }
  .journey-guide ol { display: flex; overflow-x: auto; }
  .journey-guide li { flex: 0 0 170px; }
  .page-intro { align-items: flex-start; flex-direction: column; gap: 12px; }
  .campaign-queue-context { grid-template-columns: 1fr; align-items: start; }
  .lan-access-card { grid-template-columns: 1fr; }
  .review-row { grid-template-columns: 36px minmax(0,1fr); }
  .review-row > :last-child { grid-column: 2; justify-self: start; }
  .sticky-review { position: static; max-height: none; }
  .list-row { grid-template-columns: 1fr 1fr; }
  .queue-tools { grid-template-columns: 1fr 1fr; }
  .queue-tools #queue-search, .queue-tools #queue-count { grid-column: 1 / -1; }
  .queue-tools #queue-count { justify-self: start; }
  .filter-toolbar { grid-template-columns: 1fr; }
  .operational-filters { grid-template-columns: 1fr 1fr; }
  .operational-filters .filter-search { grid-column: 1 / -1; }
  .compact-filters { grid-template-columns: 1fr 1fr; }
  .stock-filter-panel { grid-template-columns: 1fr 1fr; }
  .filter-toolbar > .muted { justify-self: start; }
  .item-navigator-main { grid-template-columns: auto minmax(120px,1fr) auto; }
  .item-navigator-main #navigator-list { grid-column: 1 / -1; justify-self: start; }
  .item-navigator-main #navigator-previous { grid-column: 1; }
  .item-position { grid-column: 2; }
  .item-navigator-main #navigator-next { grid-column: 3; }
  .stock-list .list-row { grid-template-columns: 1fr 1fr; }
  .rs-workstation { grid-template-columns: 1fr; }
  .stock-hero { align-items: flex-end; }
  .chart-heading { flex-direction: column; }
  .chart-series-tabs { justify-content: flex-start; }
  .chart-options { align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; }
  .signal-grid { grid-template-columns: 1fr 1fr; }
  .candle-chart { min-height: 210px; }
  .mobile-review-workspace[data-mobile-view="evidence"] > aside { display: none; }
  .mobile-review-workspace[data-mobile-view="review"] > section { display: none; }
  .mobile-panel-hidden { display: none !important; }
  .mobile-panel-switch { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; padding: 6px 8px; border-top: 1px solid var(--line); background: #f7f9fb; }
  .mobile-panel-switch button { min-height: 38px; border: 1px solid transparent; border-radius: 8px; color: var(--muted); background: transparent; font-size: 12px; font-weight: 800; }
  .mobile-panel-switch button.active { border-color: #9acfc8; color: #075e57; background: white; box-shadow: 0 1px 4px rgba(15,23,42,.08); }
  .fact-brief-layout, .structured-review-layout { display: grid; grid-template-columns: 1fr; }
  .fact-review-panel > h3, .fact-review-panel > .muted, .structured-review-panel > h3, .structured-review-panel > .muted { margin-bottom: 6px; }
  .graph-company-score-grid, .graph-cutoff-card > div, .graph-v2-scope { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .topbar { height: 52px; padding: 0 12px; }
  .topbar .brand, .topbar-meta { gap: 7px; }
  .topbar .brand-mark.small { width: 30px; height: 30px; border-radius: 8px; font-size: 14px; }
  .topbar-meta { font-size: 13px; }
  .role-pill { display: none; }
  .topbar-meta { min-width: 0; }
  #current-user { max-width: 112px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .topbar .text-button { padding: 7px 3px; font-size: 12px; }
  .shell { min-height: calc(100vh - 52px); display: block; }
  .sidebar { position: fixed; z-index: 100; right: 0; bottom: 0; left: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); gap: 2px; min-height: calc(58px + env(safe-area-inset-bottom)); padding: 5px 6px calc(5px + env(safe-area-inset-bottom)); overflow: visible; border: 0; border-top: 1px solid var(--line); background: rgba(255,255,255,.97); box-shadow: 0 -10px 30px rgba(15,23,42,.08); backdrop-filter: blur(16px); }
  .sidebar::-webkit-scrollbar { display: none; }
  .nav-button { display: grid; place-items: center; align-content: center; gap: 1px; min-width: 0; min-height: 48px; padding: 3px 2px; border-radius: 10px; font-size: 10px; line-height: 1.1; text-align: center; white-space: nowrap; }
  .nav-icon { display: block; font-size: 19px; font-weight: 500; line-height: 1; }
  .nav-button.active { color: #075e57; background: var(--accent-soft); box-shadow: none; }
  .content { padding: 10px 10px calc(78px + env(safe-area-inset-bottom)); }
  .journey-guide { margin-bottom: 10px; border-radius: 11px; }
  .journey-heading { padding: 10px 12px; }
  .journey-guide button { min-height: 58px; padding: 8px 10px; }
  .page-intro { margin-bottom: 10px; padding: 13px; }
  .campaign-queue-context { gap: 10px; padding: 13px; }
  .campaign-queue-context > button { width: 100%; }
  .page-intro h2 { font-size: 17px; }
  .page-intro p { font-size: 13px; }
  .operational-filters { grid-template-columns: 1fr; gap: 8px; padding: 10px; }
  .operational-filters .filter-search { grid-column: 1 / -1; }
  .operational-filters > button { grid-column: 1 / -1; }
  .operational-filters select { padding-right: 32px; }
  .stock-filter-panel { grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px; }
  .stock-filter-panel button { grid-column: 1 / -1; }
  .filter-result-line { align-items: flex-start; flex-direction: column; gap: 2px; margin-bottom: 8px; }
  .page-header { margin-bottom: 8px; }
  .page-header { align-items: flex-start; flex-wrap: wrap; gap: 8px; }
  #header-actions { width: 100%; display: grid; grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); }
  .page-header.item-toolbar { min-height: 0; margin: 0; }
  .card { border-radius: 11px; padding: 14px; }
  .card h2 { font-size: 19px; line-height: 1.25; }
  .card h3 { font-size: 16px; }
  .item-navigator { top: 56px; margin-bottom: 10px; border-radius: 11px; box-shadow: 0 7px 20px rgba(15,23,42,.1); }
  .item-navigator-main { grid-template-columns: minmax(72px,1fr) 44px 44px; gap: 5px; padding: 6px; }
  .item-navigator-main #navigator-list,
  .item-navigator-main #navigator-previous,
  .item-navigator-main #navigator-next { grid-column: auto; }
  .item-navigator-main #navigator-list { justify-self: stretch; }
  .item-navigator-main button { min-height: 44px; padding: 7px 8px; font-size: 11px; }
  .item-position { grid-column: 1 / -1; grid-row: 2; padding: 2px 5px 1px; }
  .item-position strong { font-size: 11px; }
  .item-position span { margin-top: 1px; font-size: 11px; }
  .desktop-nav-label { display: none; }
  .mobile-nav-label { display: inline; }
  .quick-item-strip { min-height: 49px; padding: 5px 7px; }
  .quick-item-button { flex-basis: 44px; width: 44px; height: 44px; min-height: 44px; }
  .mobile-panel-switch button { min-height: 44px; }
  .fact-brief-layout { gap: 10px; }
  .fact-review-panel, .structured-review-panel { overflow: visible; padding: 13px 14px 0; border-top: 4px solid var(--accent); }
  .fact-review-panel > h3 { margin-bottom: 3px; }
  .fact-review-panel > .muted { margin: 0 0 8px; font-size: 12px; line-height: 1.4; }
  #fact-review-form label { margin: 11px 0; }
  #fact-review-form select, #fact-review-form textarea { min-height: 44px; }
  #fact-issue-fields label { margin: 10px 0; }
  .review-action-bar { position: sticky; bottom: 0; z-index: 15; display: grid; grid-template-columns: .7fr .65fr 1.3fr; gap: 7px; margin: 12px -14px 0; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: rgba(255,255,255,.96); box-shadow: 0 -8px 20px rgba(15,23,42,.06); backdrop-filter: blur(10px); }
  .review-action-bar button { min-height: 44px; padding: 9px 7px; font-size: 12px; }
  .review-action-bar button span { display: none; }
  .review-action-bar .danger { color: var(--danger); background: #fff1f0; }
  .source-review-panel form > .toolbar {
    position: sticky;
    bottom: 0;
    z-index: 15;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(92px,1fr));
    gap: 7px;
    margin: 12px -14px -14px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--line);
    background: rgba(255,255,255,.96);
    box-shadow: 0 -8px 20px rgba(15,23,42,.06);
    backdrop-filter: blur(10px);
  }
  .source-review-panel form > .toolbar button { min-width: 0; min-height: 44px; padding: 8px 6px; font-size: 12px; }
  .fact-brief-header .toolbar { margin-bottom: 8px; }
  .fact-brief-header h2, .brief-headline h2 { font-size: 18px; }
  .brief-headline { margin: 0; }
  .statement-list { gap: 9px; }
  .statement-card { grid-template-columns: 30px minmax(0,1fr); gap: 9px; padding: 13px; border-radius: 11px; box-shadow: none; }
  .statement-number { width: 28px; height: 28px; font-size: 13px; }
  .statement-card h3 { margin-bottom: 8px; font-size: 15px; line-height: 1.42; }
  .fact-fields { margin-bottom: 9px; }
  .citation summary { min-height: 42px; padding: 9px 10px; }
  .citation blockquote { padding: 11px; font-size: 13px; line-height: 1.5; }
  .document-meta { font-size: 12px; }
  .source-link { display: inline-flex; min-height: 40px; align-items: center; }
  .advanced-panel { margin-top: 12px; }
  .toast { right: 10px; bottom: calc(72px + env(safe-area-inset-bottom)); left: 10px; max-width: none; }
  .login-view { padding: 16px; }
  .login-card { padding: 26px 20px; border-radius: 16px; }
  .page-header h1 { font-size: 22px; }
  .queue-tools { grid-template-columns: 1fr; }
  .queue-tools #queue-search, .queue-tools #queue-count { grid-column: auto; }
  .queue-tools button, .queue-tools select, .queue-tools input { min-height: 44px; }
  .list-row, .stock-list .list-row, .package-row { grid-template-columns: minmax(0,1fr) auto; gap: 8px 12px; padding: 14px; }
  .list-row > div:first-child, .package-row > div:first-child { grid-column: 1 / -1; }
  .list-row > span:last-child, .package-row > span:last-child { grid-column: 1 / -1; }
  .review-set-row .set-actions { grid-column: 1 / -1; justify-content: stretch; }
  .review-set-row .set-actions button { flex: 1 1 auto; min-height: 42px; }
  .problem-packages > summary, .problem-package-card { padding: 13px; }
  .audit-row { grid-template-columns: minmax(0,1fr) auto; }
  .audit-row time { grid-column: 1 / -1; color: var(--muted); font-size: 12px; }
  .filter-tabs, .work-flow-tabs { margin-inline: -2px; scroll-snap-type: x proximity; }
  .filter-tabs button, .work-flow-tabs button { min-height: 42px; scroll-snap-align: start; }
  input, select, textarea { min-height: 44px; font-size: 16px; }
  .anchored-select-menu { border-radius: 12px; padding: 6px; }
  .anchored-select-option { min-height: 46px; padding: 10px 11px; font-size: 15px; }
  button, .button-link { min-height: 44px; }
  .ocr-task-heading { align-items: flex-start; flex-wrap: wrap; }
  .ocr-frame-shell.task-frame { height: clamp(320px,calc(100dvh - 245px),620px); min-height: 0; }
  .ocr-frame-actions { display: grid; width: min(100%,260px); }
  .team-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 8px); margin: auto auto 4px; border-radius: 18px 18px 10px 10px; }
  .team-dialog form { padding: 20px 16px calc(18px + env(safe-area-inset-bottom)); }
  .team-dialog input, .team-dialog select, .team-dialog button { min-height: 44px; }
  .lan-steps { grid-template-columns: 1fr; }
  .stock-hero { align-items: center; gap: 12px; }
  .stock-hero h2 { font-size: clamp(26px,10vw,38px); overflow-wrap: anywhere; }
  .percentile-ring { width: 70px; height: 70px; }
  .timeframe-grid { grid-template-columns: 1fr; }
  .chart-tabs button, .chart-series-tab, .stock-group-button { min-height: 42px; }
  #candle-chart-canvas, #relative-performance-canvas { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
  .candle-chart { width: 680px; min-height: 226px; }
  .relative-chart { width: 600px; }
}

@keyframes view-enter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@keyframes loading-sweep { from { transform: translateX(-35vw); } to { transform: translateX(335vw); } }
@keyframes spinner-turn { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
