:root {
  color-scheme: light;
  --ink: #17212b;
  --muted: #667482;
  --navy: #102d47;
  --blue: #1f5d8f;
  --pale-blue: #eaf3f8;
  --green: #16835f;
  --pale-green: #e7f6f0;
  --line: #dbe3e9;
  --panel: #ffffff;
  --canvas: #f4f7f9;
  --danger: #a92727;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--canvas); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }

.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 20% 20%, #dcecf5 0, transparent 35%), var(--navy); }
.login-card { width: min(420px, 100%); background: white; padding: 38px; border-radius: 18px; box-shadow: 0 28px 80px #071c2d66; }
.brand-mark { display: inline-block; padding: 7px 10px; border-radius: 7px; background: var(--navy); color: white; font-weight: 800; letter-spacing: .14em; }
.login-card h1 { margin: 18px 0 8px; font-size: 30px; }
.login-card p { color: var(--muted); line-height: 1.5; }
label { display: grid; gap: 7px; margin: 18px 0; font-size: 13px; font-weight: 700; }
input, textarea, select { width: 100%; border: 1px solid #cbd6de; border-radius: 9px; padding: 12px 13px; color: var(--ink); background: white; outline: none; }
input:focus, textarea:focus, select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px #1f5d8f1a; }

header { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 28px; background: var(--panel); border-bottom: 1px solid var(--line); }
header h1 { margin: 2px 0 0; font-size: 21px; }
.eyebrow { color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.privacy-badge { border: 1px solid #a8d8c6; border-radius: 999px; padding: 9px 13px; background: var(--pale-green); color: #12654b; font-size: 12px; font-weight: 750; }
.privacy-badge.mock { border-color: #e1bd79; background: #fff5df; color: #785a20; }
.privacy-badge.mock .status-dot { background: #bc7d13; box-shadow: 0 0 0 4px #bc7d1318; }
.privacy-badge.degraded { border-color: #e2a6a6; background: #fff1f1; color: #8a2f2f; }
.privacy-badge.degraded .status-dot { background: #b42323; box-shadow: 0 0 0 4px #b4232318; }
.status-dot { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px #16835f18; }
.value-statement { padding: 10px 28px; color: #315065; background: var(--pale-blue); border-bottom: 1px solid #d2e6f1; font-size: 13px; text-align: center; }

main { min-height: calc(100vh - 118px); display: grid; grid-template-columns: 310px 1fr; }
aside { display: flex; flex-direction: column; padding: 22px 18px; background: #f9fbfc; border-right: 1px solid var(--line); }
aside section + section { margin-top: 28px; }
.build-version { margin-top: auto; padding-top: 24px; color: #8795a1; font-size: 10px; }
.section-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.section-title h2 { margin: 0; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #506170; }
.count { min-width: 24px; padding: 3px 7px; border-radius: 999px; background: #e6edf2; color: #536370; font-size: 11px; text-align: center; }

.matter-list, .document-list { display: grid; gap: 7px; }
.matter-item, .document-item { display: grid; gap: 4px; width: 100%; padding: 11px 12px; border: 1px solid transparent; border-radius: 9px; color: var(--ink); background: transparent; text-align: left; text-decoration: none; }
.matter-item:hover, .document-item:hover { background: #eef4f7; }
.matter-item:disabled { cursor: wait; opacity: .62; }
.matter-item.active { border-color: #b9d3e3; background: #e8f2f8; }
.matter-item strong, .document-item strong { overflow: hidden; text-overflow: ellipsis; font-size: 13px; white-space: nowrap; }
.matter-item span, .document-item span { color: var(--muted); font-size: 11px; }
.document-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px; align-items: center; }
.document-actions { display: grid; justify-items: end; gap: 3px; }
.document-text-download { color: var(--blue); font-size: 10px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.document-text-download:hover { text-decoration: underline; }
.document-delete { border: 0; padding: 6px; background: transparent; color: var(--danger); font-size: 10px; font-weight: 700; }
.document-delete:hover { text-decoration: underline; }

.upload-box { margin: 0 0 12px; padding: 18px 12px; border: 1px dashed #aebdc8; border-radius: 10px; background: white; text-align: center; cursor: pointer; }
.upload-box:hover { border-color: var(--blue); background: #f7fbfd; }
.upload-box.drag-active { border-color: var(--blue); border-style: solid; background: var(--pale-blue); box-shadow: 0 0 0 3px #2a6f9720; }
.upload-box.disabled { cursor: not-allowed; opacity: .5; }
.upload-box.disabled.drag-active { border-color: #aebdc8; border-style: dashed; background: white; box-shadow: none; }
.upload-box input { display: none; }
.upload-box strong, .upload-box span { display: block; }
.upload-box strong { font-size: 13px; }
.upload-box span { margin-top: 5px; color: var(--muted); font-size: 11px; font-weight: 400; }
.import-progress { display: grid; gap: 8px; margin: 0 0 12px; padding: 12px; border: 1px solid #b9d3e3; border-radius: 10px; background: #f3f9fc; }
.import-progress-heading { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; }
.import-progress-heading strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.import-progress-heading span { color: var(--blue); font-weight: 800; }
.import-progress progress { width: 100%; height: 8px; border: 0; border-radius: 999px; overflow: hidden; accent-color: var(--blue); }
.import-progress progress::-webkit-progress-bar { background: #dce9f0; }
.import-progress progress::-webkit-progress-value { background: var(--blue); }
.import-progress progress::-moz-progress-bar { background: var(--blue); }
.import-progress > span { color: var(--muted); font-size: 10px; line-height: 1.4; }
.import-progress.complete { border-color: #a8d8c6; background: var(--pale-green); }
.import-progress.complete progress { accent-color: var(--green); }
.import-progress.failed { border-color: #e4b7b7; background: #fff5f5; }
.import-progress.failed progress { accent-color: var(--danger); }

.workspace { padding: 34px clamp(24px, 5vw, 72px); }
.empty-state { min-height: 60vh; display: grid; place-content: center; justify-items: center; text-align: center; }
.empty-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; background: var(--navy); color: white; font-family: Georgia, serif; font-size: 34px; }
.empty-state h2 { margin: 18px 0 6px; }
.empty-state p { max-width: 500px; color: var(--muted); }
.matter-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.matter-heading h2 { margin: 4px 0 0; font-size: 26px; }
.matter-controls { display: flex; align-items: center; gap: 12px; }
.review-notice { color: #785a20; font-size: 12px; font-weight: 700; }
.synthetic-demo-notice {
  display: grid; gap: 4px; margin: 18px 0; padding: 13px 15px;
  border: 2px solid #b45309; border-radius: 10px; background: #fff7e6;
  color: #6f3f00;
}
.synthetic-demo-notice strong { text-transform: uppercase; }
.synthetic-demo-notice span { font-size: 12px; }

.quick-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 24px 0; }
.quick-actions button { display: grid; gap: 6px; padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: white; color: var(--ink); text-align: left; }
.quick-actions button:hover { border-color: #9bbfd5; box-shadow: 0 5px 16px #102d470d; }
.quick-actions button span { color: var(--muted); font-size: 12px; }
.quick-actions button .quick-action-title { display: flex; justify-content: space-between; gap: 10px; align-items: center; color: var(--ink); }
.quick-actions button .construction-badge { flex: 0 0 auto; padding: 3px 7px; border: 1px solid #d7a84f; border-radius: 999px; background: #fff6df; color: #76530e; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }

.inference-progress { margin: 18px 0; padding: 18px 20px; border: 1px solid #b9d3e3; border-radius: 13px; background: #f7fbfd; box-shadow: 0 7px 22px #102d4709; }
.inference-progress.complete { border-color: #a8d8c6; background: #f7fcfa; }
.inference-progress.failed { border-color: #e4b7b7; background: #fff8f8; }
.inference-progress-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.inference-progress-heading > div { display: grid; gap: 5px; }
.inference-progress-heading strong { font-size: 14px; }
.inference-progress-heading > span { flex: 0 0 auto; color: var(--blue); font-size: 16px; font-weight: 800; }
.inference-activities { display: grid; gap: 0; padding: 9px 0 4px; }
.inference-activity { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 9px; align-items: start; padding: 7px 0; }
.inference-activity-icon { display: grid; place-items: center; width: 17px; height: 17px; margin-top: 1px; border: 1px solid #9eb4c3; border-radius: 50%; color: #778b99; font-size: 10px; font-weight: 800; }
.inference-activity.active .inference-activity-icon { border: 2px solid #a9c4d5; border-top-color: var(--blue); color: transparent; animation: spin .8s linear infinite; }
.inference-activity.complete .inference-activity-icon { border-color: var(--green); background: var(--green); color: white; }
.inference-activity.failed .inference-activity-icon { border-color: var(--danger); background: var(--danger); color: white; }
.inference-activity-copy { display: grid; gap: 2px; }
.inference-activity-copy strong { font-size: 12px; font-weight: 700; }
.inference-activity-copy span, .inference-activity-time { color: var(--muted); font-size: 10px; }
.inference-progress > p { margin: 8px 0 0 27px; color: var(--muted); font-size: 10px; line-height: 1.45; }

.answer-panel { margin: 18px 0; padding: 22px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: 0 7px 22px #102d4709; }
.answer-heading { display: flex; justify-content: space-between; padding-bottom: 13px; border-bottom: 1px solid var(--line); color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.answer-timing { padding-top: 12px; color: var(--muted); font-size: 11px; font-weight: 650; }
.answer { padding: 20px 0; line-height: 1.65; white-space: pre-wrap; }
.answer a, .source-links a { color: var(--blue); text-decoration: none; }
.answer a:hover, .source-links a:hover { text-decoration: underline; }
.request-history { margin: 18px 0; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.request-history-heading { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; margin-bottom: 10px; }
.request-history-heading h3 { margin: 0; font-size: 14px; }
.request-history-heading span { color: var(--muted); font-size: 10px; }
.request-history-list { display: grid; gap: 8px; }
.request-history-item { width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); text-align: left; cursor: pointer; }
.request-history-item strong, .request-history-item span { display: block; }
.request-history-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.request-history-item span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.source-links { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 14px; border-top: 1px solid var(--line); }
.source-links a { padding: 6px 9px; border-radius: 7px; background: var(--pale-blue); font-size: 11px; }
.question-form { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: end; margin-top: 22px; }
.question-form textarea { resize: vertical; min-height: 82px; }

.primary, .ghost, .small { border-radius: 8px; font-weight: 700; }
.primary { border: 1px solid var(--navy); padding: 11px 16px; background: var(--navy); color: white; }
.primary:hover { background: #183f60; }
.primary:disabled, .quick-actions button:disabled { cursor: wait; opacity: .55; }
.ghost { border: 1px solid var(--line); padding: 9px 12px; background: white; color: var(--ink); }
.small { border: 1px solid var(--line); padding: 5px 9px; background: white; color: var(--blue); font-size: 11px; }
.investigation-back { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.danger, .danger-outline { border-radius: 8px; color: white; font-weight: 700; }
.danger { border: 1px solid var(--danger); padding: 11px 16px; background: var(--danger); }
.danger:disabled { cursor: not-allowed; opacity: .45; }
.danger-outline { border: 1px solid #d9aaaa; padding: 7px 10px; background: white; color: var(--danger); font-size: 11px; }
.danger-outline:hover { background: #fff5f5; }
.error { min-height: 18px; color: var(--danger) !important; font-size: 12px; }

dialog { width: min(520px, calc(100% - 32px)); padding: 0; border: 0; border-radius: 15px; box-shadow: 0 30px 90px #071c2d59; }
dialog::backdrop { background: #071c2d99; }
dialog form, .privacy-dialog-content { padding: 26px; }
dialog h2 { margin: 4px 0 12px; }
.dialog-actions, .dialog-title { display: flex; justify-content: flex-end; gap: 10px; }
.dialog-title { justify-content: space-between; align-items: start; }
.privacy-grid { display: grid; gap: 0; margin: 18px 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.privacy-grid div { display: grid; grid-template-columns: 180px 1fr; gap: 18px; padding: 11px 13px; border-bottom: 1px solid var(--line); }
.privacy-grid div:last-child { border-bottom: 0; }
.privacy-grid span { color: var(--muted); font-size: 12px; }
.privacy-grid strong { overflow-wrap: anywhere; font-size: 12px; }
.fine-print { color: var(--muted); font-size: 11px; line-height: 1.5; }
.retention-warning { margin: 16px 0; padding: 12px; border: 1px solid #e1bd79; border-radius: 9px; background: #fff8e8; color: #6f531e; font-size: 12px; line-height: 1.5; }

.busy { position: fixed; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 10px; max-width: min(520px, calc(100vw - 44px)); padding: 13px 17px; border-radius: 10px; background: var(--navy); color: white; box-shadow: 0 15px 40px #071c2d4d; font-size: 12px; font-weight: 700; }
.spinner { width: 17px; height: 17px; border: 2px solid #ffffff55; border-top-color: white; border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.investigation-layout { grid-template-columns: 290px minmax(0, 1fr); }
.investigation-sidebar { gap: 24px; }
.investigation-matter-summary { display: grid; gap: 5px; padding: 4px 6px 20px; border-bottom: 1px solid var(--line); }
.investigation-matter-summary h2 { overflow-wrap: anywhere; margin: 3px 0 7px; font-size: 19px; line-height: 1.25; }
.investigation-matter-number-label { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.investigation-matter-summary strong { overflow-wrap: anywhere; color: #425565; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 10px; line-height: 1.45; }
.investigation-navigation { display: grid; gap: 4px; }
.investigation-navigation a { padding: 9px 11px; border: 1px solid transparent; border-radius: 8px; color: #405261; font-size: 13px; font-weight: 700; text-decoration: none; }
.investigation-navigation a:hover { background: #eef4f7; color: var(--navy); }
.investigation-navigation a.active { border-color: #b9d3e3; background: #e8f2f8; color: var(--navy); }
.investigation-access-summary { margin-top: 4px; padding-top: 18px; border-top: 1px solid var(--line); }
.investigation-permissions { display: grid; gap: 5px; }
.investigation-permissions div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 5px 6px; border-radius: 6px; }
.investigation-permissions span { color: #526473; font-size: 10px; line-height: 1.3; }
.investigation-permissions strong { font-size: 9px; white-space: nowrap; }
.investigation-permissions .allowed strong { color: var(--green); }
.investigation-permissions .denied { background: #f2f4f6; }
.investigation-permissions .denied strong { color: var(--muted); }
.investigation-connector-list { display: grid; gap: 14px; }
.connector-intro { margin: 0; color: var(--muted); line-height: 1.5; }
.connector-card { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.connector-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.connector-card-heading h3 { margin: 0; font-size: 17px; }
.connector-card-heading p, .connector-source-summary { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.connector-limitations-heading { margin: 0; font-size: 13px; font-weight: 700; }
.connector-limitations { margin: -4px 0 0; padding-left: 20px; color: var(--muted); font-size: 13px; }
.connector-status { flex: none; padding: 4px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.connector-status.enabled { color: #166534; background: #dcfce7; }
.connector-status.disabled { color: #7f1d1d; background: #fee2e2; }
.connector-status.warning { color: #7a4b00; background: #fff1c2; }
.investigation-workspace { min-width: 0; padding: 34px clamp(24px, 5vw, 72px); }
.investigation-loading { min-height: 55vh; display: grid; place-items: center; color: var(--muted); font-weight: 700; }
.investigation-panel { min-height: calc(100vh - 190px); }
.investigation-panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.investigation-panel-heading h2 { margin: 4px 0 0; font-size: 28px; }
.investigation-placeholder-badge { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; background: var(--pale-blue); color: var(--blue); font-size: 11px; font-weight: 800; }
.investigation-created-confirmation { display: grid; gap: 4px; margin: 22px 0 0; padding: 15px 17px; border: 1px solid #a8d8c6; border-radius: 11px; background: var(--pale-green); color: #12654b; }
.investigation-created-confirmation span { font-size: 12px; }
.investigation-empty-section { min-height: 48vh; display: grid; place-content: center; justify-items: center; padding: 40px 20px; text-align: center; }
.investigation-empty-icon { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid #b9d3e3; border-radius: 15px; background: #f7fbfd; color: var(--blue); font-size: 28px; font-weight: 300; }
.investigation-empty-section h3 { margin: 18px 0 7px; font-size: 19px; }
.investigation-empty-section p { max-width: 520px; margin: 0; color: var(--muted); line-height: 1.6; }
.investigation-subject-list { display: grid; gap: 24px; padding: 26px 0; }
.investigation-subject-group { display: grid; gap: 14px; }
.investigation-subject-group h3 { margin: 0; font-size: 18px; }
.investigation-subject-card { display: grid; gap: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.investigation-subject-title { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 12px; }
.investigation-subject-title span { color: var(--muted); font-size: 12px; }
.subject-primary-details { display: grid; gap: 5px; padding: 12px 14px; border-left: 3px solid #a7c9dc; background: #f6fafc; }
.subject-primary-details p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.subject-primary-details p:first-child { color: var(--ink); font-weight: 750; }
.subject-identifier-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.subject-identifier-heading h4 { margin: 0; font-size: 13px; }
.subject-identifier-heading > div { display: flex; gap: 8px; }
.investigation-identifier-list { display: grid; gap: 8px; }
.investigation-identifier-row { display: grid; grid-template-columns: minmax(110px, .6fr) minmax(160px, 1fr) auto minmax(190px, 1.2fr) auto; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 9px; background: #f7f9fb; }
.investigation-identifier-row > small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.investigation-identifier-row.masked strong { color: var(--muted); font-style: italic; }
.sensitive-reveal-blocked { color: #7f1d1d !important; font-weight: 800; }
.investigation-identifier-label { color: var(--muted); font-size: 12px; font-weight: 700; }
.identifier-verification { padding: 5px 8px; border: 1px solid transparent; border-radius: 999px; font-size: 11px; font-weight: 800; }
.identifier-verification.verified { border-color: #9bd1b4; background: #e9f7ef; color: #17663a; }
.identifier-verification.assumption { border-color: #e4c17a; background: #fff6df; color: #7a4f00; }
.identifier-verification.provisional { border-color: #b9cad8; background: #edf3f7; color: #3e596c; }
.subject-history { border-top: 1px solid var(--line); padding-top: 13px; }
.subject-history summary { cursor: pointer; color: var(--navy); font-size: 12px; font-weight: 800; }
.subject-history-list { display: grid; gap: 6px; margin-top: 10px; }
.subject-history-list > div { display: grid; grid-template-columns: minmax(120px, .7fr) minmax(180px, 1.3fr) auto; gap: 12px; padding: 9px 11px; border-radius: 8px; background: #f7f9fb; font-size: 10px; }
.subject-history-list span, .subject-history-list small { color: var(--muted); }
.subject-editor-dialog { width: min(720px, calc(100vw - 32px)); max-height: calc(100vh - 40px); padding: 0; border: 1px solid var(--line); border-radius: 15px; box-shadow: 0 22px 70px rgba(7, 35, 55, .25); }
.subject-editor-dialog::backdrop { background: rgba(8, 28, 42, .48); }
.subject-editor-dialog form { display: grid; gap: 18px; padding: 22px; }
.subject-editor-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.subject-editor-heading h2 { margin: 4px 0 0; }
.subject-editor-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.subject-editor-fields label { margin: 0; }
.subject-editor-fields label:has(textarea) { grid-column: 1 / -1; }
.subject-editor-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 14px; border-top: 1px solid var(--line); }
.investigation-scope-list { display: grid; gap: 24px; padding: 26px 0; }
.scope-workspace-group { display: grid; gap: 17px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.scope-workspace-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.scope-workspace-heading h3 { margin: 0; font-size: 19px; }
.scope-workspace-heading p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.scope-no-active { display: grid; gap: 5px; padding: 15px 17px; border: 1px solid #e3bd76; border-radius: 10px; background: #fff8e8; color: #6f531e; }
.scope-no-active span { font-size: 11px; line-height: 1.45; }
.scope-active-card { display: grid; gap: 16px; padding: 18px; border: 2px solid #81c6aa; border-radius: 12px; background: #fbfffd; }
.scope-active-card > div:first-child { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.scope-active-card > div:first-child small { color: var(--muted); }
.scope-active-badge { padding: 6px 9px; border-radius: 999px; background: var(--pale-green); color: #12654b; font-size: 10px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.scope-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.scope-detail-grid > div { display: grid; gap: 4px; padding: 10px 12px; border-radius: 8px; background: #f5f8fa; }
.scope-detail-grid span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.scope-detail-grid strong { overflow-wrap: anywhere; font-size: 11px; line-height: 1.45; }
.scope-source-approvals { display: grid; gap: 7px; }
.scope-source-approvals h5 { margin: 0 0 3px; font-size: 12px; }
.scope-source-approvals > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; border-radius: 7px; background: #f5f8fa; font-size: 10px; }
.scope-source-state { padding: 4px 7px; border-radius: 999px; background: #e9eff3; color: #455d6e; font-size: 9px; font-weight: 800; }
.scope-source-state.approved { background: var(--pale-green); color: #12654b; }
.scope-source-state.restricted, .scope-source-state.rejected { background: #fff0ef; color: #943e38; }
.scope-source-state.deferred { background: #fff8e8; color: #745820; }
.scope-version-history { display: grid; gap: 8px; }
.scope-version-history h4 { margin: 0 0 3px; font-size: 13px; }
.scope-version-history details { padding: 11px 13px; border: 1px solid var(--line); border-radius: 9px; }
.scope-version-history summary { display: flex; justify-content: space-between; gap: 12px; cursor: pointer; font-size: 11px; }
.scope-version-history summary span { color: var(--muted); font-size: 9px; }
.scope-version-history details > .scope-detail-grid, .scope-version-history details > .scope-source-approvals { margin-top: 12px; }
.scope-version-actions { display: flex; justify-content: flex-end; margin-top: 12px; }
.scope-checkbox-group, .scope-source-editor { grid-column: 1 / -1; display: grid; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: 9px; }
.scope-checkbox-group legend, .scope-source-editor legend { padding: 0 5px; font-size: 12px; font-weight: 800; }
.scope-checkbox-group label { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; margin: 0; }
.scope-checkbox-group input, .scope-paid-authorization input { width: 16px; height: 16px; margin: 0; }
.scope-paid-authorization { grid-column: 1 / -1; display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; margin: 0 !important; padding: 12px 14px; border-radius: 8px; background: #f5f8fa; }
.scope-source-editor label { display: grid; grid-template-columns: minmax(0, 1fr) 150px; align-items: center; gap: 12px; margin: 0; }
.scope-source-editor label span { font-size: 10px; font-weight: 700; }
.investigation-job-list { display: grid; gap: 24px; padding: 26px 0; }
.investigation-job-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: #eef5f8; }
.investigation-job-toolbar h3 { margin: 0; color: var(--navy); font-size: 19px; }
.investigation-job-toolbar p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.investigation-job-filters { display: flex; gap: 10px; }
.investigation-job-filter { display: grid; gap: 4px; min-width: 170px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.investigation-job-filter select { min-height: 36px; padding: 7px 30px 7px 9px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--ink); font: inherit; font-size: 10px; font-weight: 650; letter-spacing: 0; text-transform: none; }
.investigation-job-group { display: grid; gap: 16px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.investigation-job-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.investigation-job-heading h3 { margin: 0; font-size: 19px; }
.investigation-job-heading p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.investigation-job-heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.job-restart-note { margin: 0; padding: 11px 13px; border-left: 3px solid #7aa9c5; background: #f3f9fc; color: #315065; font-size: 10px; line-height: 1.45; }
.search-review-queue { display: grid; gap: 12px; padding: 15px; border: 1px solid #b7cdd9; border-radius: 11px; background: #f8fbfc; }
.search-review-heading { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.search-review-heading h4 { margin: 0; color: var(--navy); font-size: 15px; }
.search-review-heading p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.search-review-list { display: grid; gap: 10px; }
.search-review-card { display: grid; gap: 9px; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.search-review-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.search-review-card > code { display: block; overflow-wrap: anywhere; padding: 9px 10px; border-radius: 6px; background: #eef3f5; color: var(--ink); font-size: 10px; white-space: pre-wrap; }
.search-review-card > p { display: grid; gap: 3px; margin: 0; color: #405664; font-size: 10px; line-height: 1.45; }
.search-review-card > p strong { color: var(--navy); font-size: 8px; letter-spacing: .04em; text-transform: uppercase; }
.review-approved { border-color: #a8d8c6; }
.review-rejected { border-color: #e4b7b7; opacity: .82; }
.review-deferred { border-color: #dac898; }
.investigation-job-history { display: grid; gap: 12px; }
.investigation-job-card { display: grid; gap: 9px; padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: #fafcfd; }
.investigation-job-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.investigation-job-card progress { width: 100%; height: 9px; accent-color: var(--blue); }
.investigation-job-card > p { margin: 0; color: #405664; font-size: 11px; line-height: 1.45; }
.investigation-job-card > small { color: var(--muted); font-size: 9px; }
.investigation-job-current-message { display: grid; gap: 3px; }
.investigation-job-current-message span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.investigation-job-current-message strong { color: var(--ink); font-size: 11px; }
.investigation-job-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.investigation-job-metrics > div { display: grid; gap: 3px; min-width: 0; padding: 9px 10px; border-radius: 7px; background: #f1f5f7; }
.investigation-job-metrics span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.investigation-job-metrics strong { overflow-wrap: anywhere; color: var(--navy); font-size: 11px; }
.investigation-job-metrics .has-warning { background: #fff8e8; }
.investigation-job-metrics .has-warning strong { color: #79591e; }
.investigation-job-state { padding: 5px 8px; border-radius: 999px; background: var(--pale-blue); color: var(--blue); font-size: 9px; font-weight: 800; }
.job-completed, .job-completedwithwarnings { border-color: #a8d8c6; background: #fbfffd; }
.job-failed, .job-cancelled { border-color: #e4b7b7; background: #fffafa; }
.job-error-summary { padding: 9px 11px; border-radius: 7px; background: #fff0ef; color: #873c37 !important; }
.investigation-job-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.investigation-job-outputs { display: flex; flex-wrap: wrap; gap: 8px; }
.investigation-job-outputs a { font-size: 9px; text-decoration: none; }
.job-cancel-unavailable { margin-right: auto; color: var(--muted); font-size: 9px; }
.investigation-job-card details { padding-top: 5px; border-top: 1px solid var(--line); }
.investigation-job-card summary { padding-top: 7px; cursor: pointer; color: var(--blue); font-size: 10px; font-weight: 750; }
.investigation-job-messages { display: grid; gap: 6px; padding-top: 10px; }
.investigation-job-messages > div { display: grid; grid-template-columns: 110px minmax(0, 1fr) 120px auto; gap: 10px; padding: 8px 9px; border-radius: 7px; background: #f2f6f8; font-size: 9px; }
.job-message-stage { color: #526a79; }
.investigation-job-messages time { color: var(--muted); }
.investigation-job-diagnostic { border-top-color: #d7b6b6 !important; }
.investigation-job-diagnostic summary { color: #8a2f2f !important; }
.investigation-job-diagnostic > div { display: grid; gap: 7px; margin-top: 9px; padding: 10px; border-radius: 7px; background: #fff1f1; color: #6b2525; font-size: 10px; }
.investigation-job-diagnostic p { margin: 0; overflow-wrap: anywhere; }
.investigation-job-diagnostic code { overflow-wrap: anywhere; font-size: 9px; }
.investigation-overview-list { display: grid; gap: 14px; padding: 24px 0; }
.demo-review-panel {
  display: grid; gap: 8px; padding: 20px; border: 2px solid #b45309;
  border-radius: 14px; background: #fffaf0;
}
.demo-review-panel h3, .demo-review-panel p { margin: 0; }
.demo-review-panel > p { color: #6f531e; }
.demo-review-steps {
  display: grid; gap: 12px; margin: 8px 0 0; padding-left: 24px;
}
.demo-review-steps li { padding-left: 5px; }
.demo-review-steps a { color: var(--blue); font-weight: 800; }
.demo-review-steps p { margin: 3px 0; color: #405261; font-size: 12px; }
.demo-review-steps small { color: #6f531e; line-height: 1.4; }
.investigation-evidence-list { display: grid; gap: 20px; padding: 24px 0; }
.investigation-identity-list { display: grid; gap: 20px; padding: 24px 0; }
.investigation-claims-list { display: grid; gap: 20px; padding: 24px 0; }
.investigation-timeline-list { display: grid; gap: 20px; padding: 24px 0; }
.investigation-timeline-group { display: grid; gap: 16px; }
.timeline-heading {
  display: flex; justify-content: space-between; align-items: start; gap: 16px;
}
.timeline-heading h3, .timeline-heading p, .timeline-summary { margin: 0; }
.timeline-heading p { max-width: 760px; color: #526274; }
.timeline-filters {
  display: grid; grid-template-columns: repeat(2, minmax(170px, 1fr)) auto;
  align-items: center; gap: 12px;
}
.timeline-unreviewed-toggle { display: flex; align-items: center; gap: 7px; font-weight: 800; }
.timeline-summary { color: #526274; font-size: 12px; }
.timeline-event-list { position: relative; display: grid; gap: 16px; }
.timeline-event-list::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 106px;
  width: 3px; border-radius: 999px; background: #c5d7e2;
}
.timeline-event {
  position: relative; display: grid; grid-template-columns: 92px minmax(0, 1fr);
  gap: 28px; align-items: start;
}
.timeline-marker {
  position: relative; z-index: 1; display: grid; gap: 4px; padding: 9px;
  border: 2px solid #246a8d; border-radius: 10px; background: #fff;
  text-align: center;
}
.timeline-marker::after {
  content: ""; position: absolute; top: 18px; right: -23px; width: 19px;
  height: 3px; background: #c5d7e2;
}
.timeline-marker strong { overflow-wrap: anywhere; font-size: 12px; }
.timeline-marker span { color: #526274; font-size: 10px; }
.timeline-event-body {
  display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line);
  border-left: 5px solid #246a8d; border-radius: 12px; background: #fff;
}
.timeline-event.contradictory .timeline-marker { border-color: #b45309; background: #fff7ed; }
.timeline-event.contradictory .timeline-event-body { border-left-color: #b45309; background: #fffbf5; }
.timeline-event-heading { display: flex; justify-content: space-between; align-items: start; gap: 14px; }
.timeline-event-heading h4 { margin: 0; }
.timeline-flags { display: flex; flex-wrap: wrap; justify-content: end; gap: 7px; }
.timeline-event-body dl {
  display: grid; grid-template-columns: max-content minmax(0, 1fr);
  gap: 6px 14px; margin: 0;
}
.timeline-event-body dt { font-weight: 800; }
.timeline-event-body dd { margin: 0; overflow-wrap: anywhere; }
.timeline-citations { display: grid; gap: 8px; padding: 12px; border-radius: 9px; background: var(--paper); }
.timeline-citations h5, .timeline-citations ul { margin: 0; }
.timeline-citations ul { display: grid; gap: 8px; padding-left: 22px; }
.timeline-citations li { display: grid; gap: 3px; }
.timeline-citations li span { color: #526274; font-size: 11px; font-weight: 800; }
.timeline-contradicting-citation { padding: 8px; border-radius: 7px; background: #ffedd5; }
.investigation-claims-group { display: grid; gap: 18px; }
.claims-heading h3, .claims-heading p, .claim-form h4, .claim-form h5,
.claim-extraction-queue h4, .claim-extraction-queue p { margin: 0; }
.claims-heading p { max-width: 780px; color: #526274; }
.claim-create-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.claim-form, .claim-extraction-queue {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px;
  align-content: start; padding: 16px; border: 1px solid var(--line);
  border-radius: 12px; background: #fff;
}
.claim-form h4, .claim-form h5, .claim-extraction-queue h4,
.claim-extraction-queue > p, .claim-form > p { grid-column: 1 / -1; }
.claim-field { display: grid; gap: 5px; font-size: 12px; font-weight: 800; }
.claim-field-wide { grid-column: 1 / -1; }
.claim-field input:not([type="checkbox"]), .claim-field select, .claim-field textarea {
  width: 100%; box-sizing: border-box;
}
.claim-extraction-row {
  grid-column: 1 / -1; display: grid; grid-template-columns: 1fr minmax(145px, .5fr);
  gap: 8px; padding-top: 12px; border-top: 1px solid var(--line);
}
.claim-extraction-row strong, .claim-extraction-row span, .claim-extraction-row p { grid-column: 1 / -1; }
.claim-filters { display: grid; grid-template-columns: 1fr minmax(180px, 260px); gap: 12px; }
.claim-card-list { display: grid; gap: 16px; }
.claim-card {
  display: grid; gap: 14px; padding: 18px; border: 1px solid var(--line);
  border-left: 5px solid #246a8d; border-radius: 12px; background: #fff;
}
.claim-card.claim-inference { border-left-color: #9b4dca; background: #fcf9ff; }
.claim-card.claim-target {
  outline: 4px solid #2d83b7; outline-offset: 3px;
}
.claim-card-heading { display: flex; justify-content: space-between; align-items: start; gap: 16px; }
.claim-card-heading h4 { margin: 0; max-width: 760px; }
.claim-labels { display: flex; flex-wrap: wrap; gap: 7px; justify-content: end; }
.claim-card dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 14px; margin: 0; }
.claim-card dt { font-weight: 800; }
.claim-card dd { margin: 0; overflow-wrap: anywhere; }
.claim-citation-warning, .claim-citation-complete { padding: 9px 11px; border-radius: 8px; }
.claim-citation-warning { color: #7c2d12; background: #ffedd5; }
.claim-citation-complete { color: #166534; background: #dcfce7; }
.claim-evidence-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.claim-evidence-column { padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.claim-evidence-column h5, .claim-evidence-column p { margin: 0; }
.claim-evidence-column ol { display: grid; gap: 10px; margin: 10px 0 0; padding-left: 22px; }
.claim-evidence-column li p { margin: 5px 0; white-space: pre-wrap; }
.claim-citation-status { font-size: 11px; font-weight: 800; color: var(--blue); }
.claim-link-form, .claim-review-form { background: var(--paper); }
.investigation-leads-group { display: grid; gap: 18px; }
.leads-heading h3, .leads-heading p, .lead-form h4, .lead-form h5 {
  margin: 0;
}
.leads-heading p { max-width: 780px; color: #526274; }
.lead-form {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px;
  padding: 16px; border: 1px solid var(--line); border-radius: 12px;
  background: #fff;
}
.lead-form h4, .lead-form h5, .lead-form > p, .lead-claim-fields {
  grid-column: 1 / -1;
}
.lead-restricted-note {
  padding: 9px 11px; border-left: 4px solid #b66a00;
  background: #fff7e6; color: #5c3900;
}
.lead-claim-fields {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px;
  padding: 12px; border: 1px solid var(--line); border-radius: 9px;
  background: var(--paper);
}
.lead-filters {
  display: grid; grid-template-columns: 1fr minmax(180px, 260px); gap: 12px;
}
.lead-card-list { display: grid; gap: 16px; }
.lead-card {
  display: grid; gap: 14px; padding: 18px; border: 1px solid var(--line);
  border-left: 5px solid #b66a00; border-radius: 12px; background: #fffdf8;
}
.lead-card-heading {
  display: flex; justify-content: space-between; align-items: start; gap: 16px;
}
.lead-card-heading h4 { margin: 0; max-width: 760px; }
.lead-not-fact {
  padding: 10px 12px; border-radius: 8px; color: #7c2d12;
  background: #ffedd5;
}
.lead-card dl {
  display: grid; grid-template-columns: max-content minmax(0, 1fr);
  gap: 6px 14px; margin: 0;
}
.lead-card dt { font-weight: 800; }
.lead-card dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.lead-evidence {
  padding: 13px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--paper);
}
.lead-evidence h5, .lead-evidence p { margin: 0; }
.lead-evidence ul { margin: 9px 0 0; padding-left: 22px; }
.lead-review-form { background: var(--paper); }
.investigation-relationships-group { display: grid; gap: 16px; }
.relationships-heading h3, .relationships-heading p { margin: 0; }
.relationships-heading p { max-width: 820px; color: #526274; }
.relationship-toolbar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  padding: 12px; border: 1px solid var(--line); border-radius: 11px;
  background: #fff;
}
.relationship-toolbar select { min-width: 180px; }
.relationship-check-filter {
  display: flex; align-items: center; gap: 7px; margin: 0;
  font-size: 12px; font-weight: 800;
}
.relationship-check-filter input { width: 16px; height: 16px; margin: 0; }
.relationship-density-note { margin: 0; color: var(--muted); font-size: 11px; }
.relationship-content { min-width: 0; }
.relationship-graph-view {
  overflow: hidden; border: 1px solid #b8cad6; border-radius: 12px;
  background: linear-gradient(#fbfdfe, #f2f7fa);
}
.relationship-zoom-controls {
  display: flex; justify-content: end; gap: 7px; padding: 10px 10px 0;
}
.relationship-zoom-controls button { min-width: 38px; }
.relationship-graph-instructions {
  margin: 0; padding: 4px 12px 8px; color: var(--muted); font-size: 10px;
}
.relationship-graph {
  display: block; width: 100%; height: 520px; touch-action: none;
  cursor: grab;
}
.relationship-graph:active { cursor: grabbing; }
.relationship-edge {
  stroke: #8396a5; stroke-width: 3; vector-effect: non-scaling-stroke;
}
.relationship-edge.inferred {
  stroke: #9b6a19; stroke-dasharray: 8 6;
}
.relationship-edge.confirmed { stroke: #16805f; stroke-width: 4; }
.relationship-node { cursor: pointer; outline: none; }
.relationship-node circle {
  fill: #fff; stroke: #255f83; stroke-width: 3;
  vector-effect: non-scaling-stroke;
}
.relationship-node:hover circle, .relationship-node:focus circle,
.relationship-node.selected circle {
  fill: #dff2ff; stroke: #0b4d75; stroke-width: 5;
}
.relationship-node text {
  fill: #173244; font-size: 11px; font-weight: 800;
  pointer-events: none;
}
.relationship-node .relationship-node-type {
  fill: #5d7180; font-size: 8px; font-weight: 700;
}
.relationship-list-view {
  overflow-x: auto; border: 1px solid var(--line); border-radius: 11px;
  background: #fff;
}
.relationship-list-view table {
  width: 100%; min-width: 780px; border-collapse: collapse;
}
.relationship-list-view caption {
  padding: 12px; text-align: left; font-size: 13px; font-weight: 800;
}
.relationship-list-view th, .relationship-list-view td {
  padding: 10px; border-top: 1px solid var(--line);
  text-align: left; vertical-align: top;
}
.relationship-list-view th { background: #edf4f8; font-size: 11px; }
.relationship-list-view td { font-size: 11px; }
.relationship-list-view td:last-child {
  display: grid; gap: 6px; min-width: 220px;
}
.relationship-node-link {
  padding: 0; border: 0; color: var(--blue); background: transparent;
  font: inherit; font-weight: 800; text-align: left; text-decoration: underline;
}
.relationship-detail {
  display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line);
  border-radius: 11px; background: #fff;
}
.relationship-detail > p { margin: 0; color: var(--muted); }
.relationship-detail-heading, .relationship-edge-heading {
  display: flex; align-items: start; justify-content: space-between; gap: 14px;
}
.relationship-detail-heading h4, .relationship-edge-heading h5 {
  margin: 0;
}
.relationship-edge-panel {
  display: grid; gap: 12px; padding: 14px; border: 1px solid #b7cbd7;
  border-left: 5px solid #16805f; border-radius: 10px; background: #f9fcfd;
}
.relationship-edge-panel.inferred {
  border-left-color: #9b6a19; background: #fffaf0;
}
.relationship-flags { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; }
.relationship-edge-panel dl {
  display: grid; grid-template-columns: max-content minmax(0, 1fr);
  gap: 5px 12px; margin: 0;
}
.relationship-edge-panel dt { font-weight: 800; }
.relationship-edge-panel dd { margin: 0; }
.relationship-source-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
}
.relationship-source-grid section {
  padding: 11px; border: 1px solid var(--line); border-radius: 8px;
  background: #fff;
}
.relationship-source-grid h6, .relationship-source-grid p {
  margin: 0 0 7px;
}
.relationship-source-grid ul { margin: 0; padding-left: 20px; }
.relationship-follow-up-form {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px; padding-top: 12px; border-top: 1px solid var(--line);
}
.relationship-follow-up-form h5, .relationship-follow-up-form > p {
  grid-column: 1 / -1; margin: 0;
}
.investigation-citation-validation { display: grid; gap: 16px; }
.citation-workspace-heading h3, .citation-workspace-heading p { margin: 0; }
.citation-workspace-heading p { max-width: 840px; color: var(--muted); }
.citation-mode-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.citation-mode-content, .citation-validation-list {
  display: grid; gap: 14px;
}
.citation-preflight {
  display: grid; gap: 4px; padding: 13px 15px; border: 1px solid;
  border-radius: 10px;
}
.citation-preflight.ready {
  border-color: #92cdb9; background: #edf9f4; color: #145b47;
}
.citation-preflight.blocked {
  border-color: #dfb3a9; background: #fff4f1; color: #8b2f1f;
}
.citation-preflight span { font-size: 11px; }
.citation-validation-card {
  display: grid; gap: 13px; padding: 16px; border: 1px solid var(--line);
  border-left: 5px solid #a94832; border-radius: 11px; background: #fff;
}
.citation-validation-card.reportable { border-left-color: #16805f; }
.citation-validation-card.excluded { background: #fffaf8; }
.citation-validation-heading, .citation-record-heading {
  display: flex; align-items: start; justify-content: space-between; gap: 14px;
}
.citation-validation-heading h4, .citation-record-heading h5 { margin: 0; }
.citation-result-list {
  display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0;
  list-style: none;
}
.citation-result-list li {
  padding: 4px 8px; border-radius: 999px; font-size: 10px;
  font-weight: 800;
}
.citation-result-list .valid { background: #dff3ea; color: #145b47; }
.citation-result-list .invalid { background: #fce6e0; color: #8b2f1f; }
.citation-open-claim { justify-self: start; text-decoration: none; }
.citation-record-list { display: grid; gap: 10px; }
.citation-record {
  display: grid; gap: 9px; padding: 12px; border: 1px solid var(--line);
  border-radius: 9px; background: #f8fbfd;
}
.citation-record dl, .citation-decision-summary dl {
  display: grid; grid-template-columns: max-content minmax(0, 1fr);
  gap: 5px 12px; margin: 0;
}
.citation-record dt, .citation-decision-summary dt { font-weight: 800; }
.citation-record dd, .citation-decision-summary dd { margin: 0; }
.citation-record h6, .citation-record p,
.citation-decision-summary h5, .citation-decision-summary p { margin: 0; }
.citation-record p, .citation-decision-summary p {
  white-space: pre-wrap; overflow-wrap: anywhere;
}
.citation-decision-summary {
  display: grid; gap: 9px; padding: 12px; border: 1px solid #b7cbd7;
  border-radius: 9px; background: #f4f9fb;
}
.citation-decision-form {
  display: grid; grid-template-columns: minmax(180px, .35fr) minmax(0, 1fr);
  gap: 10px; padding-top: 12px; border-top: 1px solid var(--line);
}
.citation-decision-form h5, .citation-decision-form > p {
  grid-column: 1 / -1; margin: 0;
}
.investigation-report-workspace { display: grid; gap: 18px; }
.report-workspace-heading h3, .report-workspace-heading p { margin: 0; }
.report-workspace-heading p { max-width: 900px; color: var(--muted); }
.report-section-controls {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px; padding: 15px; border: 1px solid var(--line);
  border-radius: 11px; background: #fff;
}
.report-section-controls legend { padding: 0 7px; font-weight: 800; }
.report-section-controls label {
  display: flex; align-items: start; gap: 8px; font-size: 12px;
}
.report-section-controls input { margin-top: 2px; }
.report-preview { display: grid; gap: 16px; }
.report-section-preview {
  display: grid; gap: 12px; padding: 17px; border: 1px solid var(--line);
  border-radius: 12px; background: #fff;
}
.report-section-heading, .report-version-heading {
  display: flex; align-items: start; justify-content: space-between; gap: 14px;
}
.report-section-heading h3, .report-version-heading h4 { margin: 0; }
.report-preview-items { display: grid; gap: 12px; }
.report-preview-item {
  display: grid; gap: 9px; padding: 13px; border: 1px solid #d4e0e7;
  border-radius: 9px; background: #f8fbfd;
}
.report-preview-item h4, .report-preview-item p { margin: 0; }
.report-item-labels { display: flex; flex-wrap: wrap; gap: 7px; }
.report-identity-caveat, .report-contradiction-handling {
  padding: 9px 11px; border-left: 4px solid #7a5a00; background: #fff8e6;
}
.report-finalize-form {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: end; gap: 12px; padding: 16px; border: 1px solid #aac6b9;
  border-radius: 11px; background: #f2faf6;
}
.report-finalize-form h3, .report-finalize-form > p {
  grid-column: 1 / -1; margin: 0;
}
.report-version-list { display: grid; gap: 11px; }
.report-version-list > h3 { margin: 0; }
.report-version-card {
  display: grid; gap: 10px; padding: 14px; border: 1px solid #b7cbd7;
  border-radius: 10px; background: #f4f9fb;
}
.report-version-card dl {
  display: grid; grid-template-columns: max-content minmax(0, 1fr);
  gap: 5px 12px; margin: 0;
}
.report-version-card dt { font-weight: 800; }
.report-version-card dd { margin: 0; overflow-wrap: anywhere; }
.report-export-controls {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px; padding-top: 12px; border-top: 1px solid #cbd9e2;
}
.report-export-controls h5, .report-export-controls > p {
  grid-column: 1 / -1; margin: 0;
}
.report-export-controls textarea { resize: vertical; }
.sensitive-data-export-notice {
  padding: 10px 12px; border-left: 4px solid #216b59; background: #edf9f4;
}
.report-sensitive-reveal {
  display: flex; grid-column: 1 / -1; align-items: center; gap: 7px;
  margin: 0; color: #6f3700; font-size: 12px; font-weight: 800;
}
.report-sensitive-reveal input { width: 16px; height: 16px; margin: 0; }
.report-export-buttons {
  grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 9px;
}
.investigation-audit-list, .audit-entry-list { display: grid; gap: 14px; }
.investigation-audit-group, .audit-permission-blocked {
  display: grid; gap: 12px; padding: 20px; border: 1px solid var(--line);
  border-radius: 14px; background: #fff;
}
.audit-heading p, .audit-status, .audit-result-summary,
.audit-entry p, .audit-entry small { margin: 0; }
.audit-heading p, .audit-status, .audit-entry-heading time,
.audit-entry small { color: var(--muted); }
.audit-filters {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px; padding: 14px; border: 1px solid var(--line);
  border-radius: 10px; background: #f8fafb;
}
.audit-filters label:not(.audit-global-filter) {
  display: grid; gap: 5px; margin: 0; color: #34485c;
  font-size: 12px; font-weight: 800;
}
.audit-filters select, .audit-filters input[type="datetime-local"] {
  width: 100%; min-width: 0;
}
.audit-global-filter {
  display: flex; grid-column: 1 / -1; align-items: center;
  gap: 7px; margin: 0;
}
.audit-global-filter input { width: 16px; height: 16px; margin: 0; }
.audit-actions {
  display: flex; align-items: center; flex-wrap: wrap; gap: 9px;
}
.audit-status { min-height: 18px; }
.audit-status.error { color: #a11b1b; }
.audit-export-blocked { color: #76500f; font-size: 12px; font-weight: 800; }
.audit-entry {
  display: grid; gap: 7px; padding: 13px; border: 1px solid var(--line);
  border-radius: 10px; background: #f8fafb;
}
.audit-entry-heading {
  display: flex; justify-content: space-between; gap: 14px;
}
.audit-entry code { overflow-wrap: anywhere; color: #174b78; }
.investigation-diagnostics-list { display: grid; gap: 16px; }
.investigation-diagnostic-group {
  display: grid; gap: 14px; padding: 20px; border: 1px solid var(--line);
  border-radius: 14px; background: #fff;
}
.diagnostic-heading, .diagnostic-card-heading {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px;
}
.diagnostic-heading h3, .diagnostic-heading p,
.diagnostic-card h4, .diagnostic-load-status,
.diagnostic-summary span, .diagnostic-administrator p {
  margin: 0;
}
.diagnostic-heading p, .diagnostic-load-status,
.diagnostic-administrator p { color: var(--muted); }
.diagnostic-load-status { min-height: 18px; }
.diagnostic-load-status.error { color: #a11b1b; }
.diagnostic-summary {
  display: grid; gap: 5px; padding: 13px 15px;
  border-left: 4px solid #16835f; border-radius: 8px; background: #edf9f4;
}
.diagnostic-summary.degraded {
  border-left-color: #b45309; background: #fff7e6;
}
.diagnostic-card-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.diagnostic-card {
  display: grid; gap: 12px; padding: 15px; border: 1px solid #d4dfe7;
  border-radius: 10px; background: #f8fafb;
}
.diagnostic-card dl {
  display: grid; grid-template-columns: minmax(135px, .8fr) minmax(0, 1.2fr);
  gap: 6px 12px; margin: 0; font-size: 12px;
}
.diagnostic-card dt { color: var(--muted); }
.diagnostic-card dd { margin: 0; overflow-wrap: anywhere; font-weight: 750; }
.diagnostic-administrator {
  display: grid; gap: 10px; padding: 15px; border: 1px solid #e2c47a;
  border-radius: 10px; background: #fffaf0;
}
.diagnostic-administrator h4, .diagnostic-administrator h5,
.diagnostic-administrator ul { margin: 0; }
.diagnostic-administrator ul { padding-left: 22px; }
.investigation-identity-group { display: grid; gap: 20px; }
.identity-heading, .identity-candidate-heading, .identity-unassigned-row {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.identity-heading p { max-width: 760px; color: #526274; }
.identity-candidate-list { display: grid; gap: 14px; }
.identity-candidate-card {
  display: grid; gap: 12px; padding: 18px; border: 1px solid #ccd8e2;
  border-radius: 12px; background: #fff;
}
.identity-candidate-card.superseded { background: #f5f7f9; opacity: .78; }
.identity-candidate-card h4, .identity-candidate-card h5 { margin: 0; }
.identity-candidate-card ul { margin: 8px 0 0; padding-left: 22px; }
.identity-reasoning { margin: 0; padding: 10px 12px; background: #f3f7fa; border-radius: 8px; }
.identity-actions { display: flex; align-items: center; gap: 14px; }
.identity-unassigned { display: grid; gap: 10px; padding: 16px; border: 1px dashed #9db2c3; border-radius: 12px; }
.identity-unassigned-row { padding-top: 10px; border-top: 1px solid #e1e8ed; }
.identity-assessment {
  display: grid; gap: 10px; padding: 14px; border: 1px solid #adc7d8;
  border-radius: 10px; background: #f8fbfd;
}
.identity-assessment-heading, .identity-score-controls {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.identity-material-conflict, .identity-sensitive-warning {
  display: block; padding: 10px 12px; border-radius: 8px;
}
.identity-material-conflict { color: #7c2d12; background: #ffedd5; }
.identity-sensitive-warning { color: #7f1d1d; background: #fee2e2; }
.identity-score-controls { flex-wrap: wrap; }
.identity-override-form { display: grid; grid-template-columns: minmax(150px, 220px) 1fr auto; gap: 10px; }
.identity-override-form textarea { min-height: 74px; }
.identity-rules { padding: 14px; border: 1px solid #ccd8e2; border-radius: 10px; background: #fff; }
.identity-review-filters { display: grid; grid-template-columns: 1fr minmax(180px, 260px); gap: 12px; }
.identity-comparison, .identity-candidate-evidence, .identity-attorney-decision {
  display: grid; gap: 8px; padding: 12px; border: 1px solid #d7e1e8;
  border-radius: 9px; background: #fff;
}
.identity-comparison table { width: 100%; border-collapse: collapse; }
.identity-comparison th, .identity-comparison td {
  padding: 9px; border: 1px solid #d7e1e8; text-align: left;
  vertical-align: top; white-space: pre-wrap;
}
.identity-comparison th { background: #edf4f8; }
.identity-follow-up-form { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.identity-follow-up-form textarea { min-height: 74px; }
@media (max-width: 760px) {
  .identity-override-form, .identity-review-filters, .identity-follow-up-form,
  .claim-create-grid, .claim-form, .claim-filters, .claim-evidence-comparison,
  .claim-extraction-row, .timeline-filters, .timeline-event, .lead-form,
  .lead-claim-fields, .lead-filters, .relationship-source-grid,
  .relationship-follow-up-form, .citation-decision-form {
    grid-template-columns: 1fr;
  }
  .report-section-controls, .report-finalize-form {
    grid-template-columns: 1fr;
  }
  .identity-comparison { overflow-x: auto; }
  .timeline-heading, .timeline-event-heading { display: grid; }
  .timeline-event-list::before, .timeline-marker::after { display: none; }
  .timeline-marker { text-align: left; }
  .timeline-flags { justify-content: start; }
  .claim-field-wide, .claim-form h4, .claim-form h5, .claim-extraction-queue h4,
  .claim-extraction-queue > p, .claim-form > p, .claim-extraction-row strong,
  .claim-extraction-row span, .claim-extraction-row p, .lead-form h4,
  .lead-form h5, .lead-form > p, .lead-claim-fields { grid-column: auto; }
  .relationship-follow-up-form h5, .relationship-follow-up-form > p {
    grid-column: auto;
  }
  .citation-decision-form h5, .citation-decision-form > p {
    grid-column: auto;
  }
  .relationship-toolbar { align-items: stretch; flex-direction: column; }
  .relationship-toolbar select { width: 100%; }
  .relationship-graph { height: 420px; }
  .relationship-edge-heading { display: grid; }
  .relationship-flags { justify-content: start; }
  .citation-validation-heading, .citation-record-heading { display: grid; }
  .report-section-heading, .report-version-heading { display: grid; }
  .report-export-controls { grid-template-columns: 1fr; }
  .report-export-controls h5, .report-export-controls > p,
  .report-export-buttons { grid-column: auto; }
  .report-finalize-form h3, .report-finalize-form > p {
    grid-column: auto;
  }
  .audit-filters { grid-template-columns: 1fr; }
  .audit-entry-heading { align-items: flex-start; flex-direction: column; gap: 3px; }
}
.investigation-evidence-group { display: grid; gap: 18px; padding: 21px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.investigation-evidence-group > h3 { margin: 0; }
.evidence-record-list { display: grid; gap: 12px; }
.evidence-search-form { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 9px; align-items: start; }
.evidence-search-results { grid-column: 1 / -1; display: grid; gap: 9px; }
.evidence-search-results article { padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.evidence-search-results p { margin: 6px 0; white-space: pre-wrap; }
.evidence-card { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.evidence-card-heading { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.evidence-card-heading h4 { margin: 0; }
.evidence-card-heading span { padding: 5px 8px; border-radius: 999px; background: var(--pale-blue); color: var(--blue); font-size: 11px; font-weight: 800; }
.evidence-card dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 14px; margin: 0; }
.evidence-card dt { font-weight: 800; }
.evidence-card dd { margin: 0; overflow-wrap: anywhere; }
.evidence-card details { padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.evidence-card summary { cursor: pointer; font-weight: 800; }
.evidence-viewer, .evidence-review-section, .evidence-linked-section { display: grid; gap: 10px; }
.evidence-viewer h5, .evidence-review-section h5, .evidence-linked-section h5 { margin: 0; }
.evidence-content-group { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding: 11px 12px; border-radius: 9px; }
.evidence-original-group { border: 2px solid #52657a; background: #f5f7fa; }
.evidence-derivative-group { border: 1px dashed #6d84a0; background: #f8fbff; }
.evidence-content-group strong { flex-basis: 100%; }
.evidence-text-viewer { flex-basis: 100%; display: grid; gap: 10px; }
.evidence-text-page { padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.evidence-text-page h6 { margin: 0 0 8px; font-size: 13px; }
.evidence-text-page pre { max-height: 360px; margin: 0; overflow: auto; white-space: pre-wrap; font: inherit; }
.evidence-linked-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.evidence-linked-section { padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.evidence-linked-section p, .evidence-linked-section ul { margin: 0; }
.evidence-review-form { display: grid; grid-template-columns: minmax(140px, .35fr) minmax(220px, 1fr) auto; gap: 10px; align-items: start; }
.evidence-review-form textarea { width: 100%; box-sizing: border-box; }
.evidence-review-form p { grid-column: 1 / -1; margin: 0; }
.structured-fact-section { display: grid; gap: 10px; padding: 12px; border-left: 4px solid var(--blue); background: var(--pale-blue); }
.structured-fact-section h5, .structured-fact-notice { margin: 0; }
.structured-fact-notice { font-weight: 700; }
.structured-fact-list { display: grid; gap: 10px; margin: 0; padding-left: 22px; }
.structured-fact-review-form { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 9px; margin-top: 10px; }
.structured-fact-review-form textarea, .structured-fact-review-form p { grid-column: 1 / -1; }
.structured-fact-review-form input, .structured-fact-review-form select, .structured-fact-review-form textarea { width: 100%; box-sizing: border-box; }
.manual-evidence-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.manual-evidence-form { display: grid; align-content: start; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.manual-evidence-form h4, .manual-evidence-form p { margin: 0; }
.manual-evidence-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.evidence-field { display: grid; gap: 5px; font-size: 12px; font-weight: 800; }
.evidence-field-wide { grid-column: 1 / -1; }
.evidence-field input, .evidence-field textarea { width: 100%; box-sizing: border-box; }
.evidence-capture-warning { padding: 10px 12px; border-left: 4px solid #b66a00; background: #fff7e6; color: #5c3900; }
.evidence-capture-status { min-height: 20px; }
.investigation-overview-group { display: grid; gap: 18px; padding: 21px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.investigation-overview-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.investigation-overview-heading h3 { margin: 0; font-size: 20px; }
.investigation-overview-heading span { padding: 5px 8px; border-radius: 999px; background: var(--pale-blue); color: var(--blue); font-size: 10px; font-weight: 800; }
.overview-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.overview-metric-card { display: grid; gap: 5px; min-height: 112px; padding: 14px; border: 1px solid var(--line); border-radius: 11px; color: var(--ink); background: #fafcfd; text-decoration: none; }
.overview-metric-card:hover { border-color: #9bbfd5; background: #f3f9fc; }
.overview-metric-card span { color: #526473; font-size: 11px; font-weight: 750; }
.overview-metric-card strong { overflow-wrap: anywhere; color: var(--navy); font-size: 21px; }
.overview-metric-card small { margin-top: auto; color: var(--muted); font-size: 9px; line-height: 1.4; }
.overview-next-action { display: grid; gap: 5px; padding: 15px 17px; border: 1px solid #a8d8c6; border-radius: 11px; background: var(--pale-green); color: #12654b; text-decoration: none; }
.overview-next-action span { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.overview-next-action strong { font-size: 14px; }
.overview-panel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.overview-detail-panel { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 11px; }
.overview-detail-panel h4 { margin: 0 0 10px; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.overview-detail-list { display: grid; gap: 6px; }
.overview-detail-list > div, .overview-detail-list > a { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding: 8px 9px; border-radius: 7px; color: var(--ink); background: #f6f9fa; font-size: 11px; text-decoration: none; }
.overview-detail-list > a:hover { background: var(--pale-blue); }
.overview-detail-list strong { overflow-wrap: anywhere; }
.overview-detail-list span, .overview-detail-list time { flex: 0 0 auto; color: var(--muted); font-size: 9px; }
.overview-detail-list .overview-warning { display: block; border-left: 3px solid #d59b2f; background: #fff8e8; color: #6f531e; line-height: 1.45; }
.overview-panel-empty { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.investigation-wizard { max-width: 860px; margin: 0 auto; }
.wizard-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.wizard-heading h2 { margin: 4px 0 0; font-size: 28px; }
.wizard-heading > span { color: var(--blue); font-size: 12px; font-weight: 800; }
.wizard-step-list { display: grid; grid-template-columns: repeat(10, minmax(24px, 1fr)); gap: 5px; margin: 20px 0; }
.wizard-step-list span { height: 5px; border-radius: 999px; background: #dce5eb; }
.wizard-step-list span.complete, .wizard-step-list span.active { background: var(--blue); }
.wizard-form { padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.wizard-step-heading { margin-bottom: 18px; }
.wizard-step-heading h3 { margin: 5px 0 0; font-size: 21px; }
.wizard-form label { margin: 15px 0; }
.wizard-form fieldset { display: grid; gap: 5px; margin: 14px 0; padding: 16px; border: 1px solid var(--line); border-radius: 10px; }
.wizard-form legend { padding: 0 6px; font-size: 13px; font-weight: 800; }
.wizard-check-option { grid-template-columns: 18px minmax(0, 1fr); align-items: center; margin: 2px 0 !important; font-weight: 600 !important; }
.wizard-check-option input, .wizard-final-confirmation input { width: 16px; height: 16px; margin: 0; }
.wizard-guidance { padding: 12px 14px; border-left: 3px solid #e1bd79; background: #fff8e8; color: #6f531e; font-size: 12px; line-height: 1.5; }
.wizard-identifiers { display: grid; gap: 10px; margin: 14px 0; }
.wizard-identifier-row { display: grid; grid-template-columns: 1fr 1.5fr 1fr auto; gap: 10px; align-items: end; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafb; }
.wizard-identifier-row label { margin: 0; }
.wizard-identifier-row button { margin-bottom: 1px; }
.wizard-review { display: grid; grid-template-columns: minmax(130px, .45fr) minmax(0, 1fr); margin: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.wizard-review dt, .wizard-review dd { margin: 0; padding: 11px 13px; border-bottom: 1px solid var(--line); }
.wizard-review dt { background: #f4f7f9; color: #506170; font-size: 11px; font-weight: 800; }
.wizard-review dd { overflow-wrap: anywhere; font-size: 12px; line-height: 1.45; }
.wizard-review dt:nth-last-of-type(1), .wizard-review dd:last-child { border-bottom: 0; }
.wizard-final-confirmation { grid-template-columns: 20px minmax(0, 1fr); align-items: start; margin-top: 20px !important; padding: 15px; border: 1px solid #e1bd79; border-radius: 10px; background: #fff8e8; color: #6f531e; line-height: 1.45; }
.wizard-actions { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.wizard-save-status { color: var(--green); font-size: 11px; font-weight: 800; }
.investigation-error { max-width: 640px; margin: 80px auto; padding: 28px; border: 1px solid #e4b7b7; border-radius: 14px; background: #fff8f8; }
.investigation-error h2 { margin: 7px 0; }
.investigation-error p { margin: 0 0 20px; color: var(--muted); line-height: 1.5; }

@media (max-width: 1100px) {
  .investigation-workspace { padding: 28px clamp(18px, 3vw, 36px); }
  .diagnostic-card-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  header { align-items: flex-start; padding: 14px 18px; }
  .header-actions { align-items: flex-end; flex-direction: column; }
  main { grid-template-columns: 1fr; }
  aside { border-right: 0; border-bottom: 1px solid var(--line); }
  .workspace { padding: 24px 18px; }
  .quick-actions, .question-form { grid-template-columns: 1fr; }
  .matter-heading { align-items: flex-start; flex-direction: column; }
  .privacy-grid div { grid-template-columns: 1fr; gap: 4px; }
  .diagnostic-card-grid { grid-template-columns: 1fr; }
  .diagnostic-heading { align-items: stretch; flex-direction: column; }
  .diagnostic-card dl { grid-template-columns: 1fr; gap: 3px; }
  .inference-progress-heading { align-items: flex-start; }
  .investigation-layout { grid-template-columns: 1fr; }
  .investigation-sidebar { gap: 14px; padding: 18px; }
  .investigation-matter-summary { padding-bottom: 15px; }
  .investigation-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .investigation-navigation a { text-align: center; }
  .investigation-workspace { padding: 24px 18px; }
  .investigation-panel { min-height: auto; }
  .investigation-panel-heading { align-items: flex-start; flex-direction: column; }
  .investigation-subject-title { align-items: flex-start; flex-direction: column; }
  .subject-identifier-heading { align-items: flex-start; flex-direction: column; }
  .investigation-identifier-row { grid-template-columns: 1fr; }
  .subject-history-list > div { grid-template-columns: 1fr; }
  .subject-editor-fields { grid-template-columns: 1fr; }
  .scope-workspace-heading { flex-direction: column; }
  .scope-detail-grid { grid-template-columns: 1fr; }
  .scope-source-editor label { grid-template-columns: 1fr; }
  .investigation-job-heading { flex-direction: column; }
  .investigation-job-heading-actions { justify-content: flex-start; }
  .investigation-job-toolbar { align-items: stretch; flex-direction: column; }
  .investigation-job-filters { flex-direction: column; }
  .investigation-job-filter { min-width: 0; }
  .investigation-job-messages > div { grid-template-columns: 100px minmax(0, 1fr); }
  .investigation-job-messages time { text-align: right; }
  .wizard-identifier-row { grid-template-columns: 1fr; }
  .wizard-review { grid-template-columns: 1fr; }
  .wizard-review dt, .wizard-review dd { border-bottom: 0; }
  .wizard-review dd { border-bottom: 1px solid var(--line); }
  .overview-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manual-evidence-form-grid, .manual-evidence-fields, .evidence-linked-grid, .evidence-review-form, .evidence-search-form, .structured-fact-review-form { grid-template-columns: 1fr; }
  .evidence-field-wide { grid-column: auto; }
}

@media (max-width: 460px) {
  .investigation-page header { align-items: stretch; flex-direction: column; }
  .investigation-page .header-actions { align-items: stretch; }
  .investigation-navigation { grid-template-columns: 1fr; }
  .wizard-heading { align-items: flex-start; flex-direction: column; }
  .wizard-form { padding: 18px; }
  .wizard-actions { grid-template-columns: 1fr; }
  .overview-metric-grid, .overview-panel-grid { grid-template-columns: 1fr; }
  .investigation-job-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .investigation-overview-group { padding: 16px; }
}
