@font-face {
    font-family: "Alliance No. 2";
    src: url("alliance-no2-regular.otf") format("opentype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

.affiliation-investigation-action { margin-top: .75rem; display: flex; gap: .75rem; align-items: end; flex-wrap: wrap; }
.affiliation-investigation-action small { color: var(--ol-muted); }
.affiliation-jurisdiction-field { display: grid; gap: .35rem; min-width: min(100%, 16rem); color: var(--ol-muted); font-size: .82rem; }
.affiliation-jurisdiction-field > span { font-weight: 600; }
.affiliation-jurisdiction-field input { min-height: 2.25rem; border: 1px solid var(--ol-border); border-radius: .45rem; background: var(--ol-surface); color: var(--ol-text); padding: .45rem .65rem; }
.affiliation-domain-toggle { display: flex; gap: .45rem; align-items: center; min-height: 2.25rem; color: var(--ol-muted); font-size: .78rem; font-weight: 600; }
.affiliation-case-body { display: grid; gap: 1rem; }
.affiliation-candidate-list { display: grid; gap: .75rem; }
.affiliation-candidate { border: 1px solid var(--ol-border); border-radius: .75rem; padding: .9rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.affiliation-candidate span { display: grid; gap: .2rem; }
.affiliation-candidate small { color: var(--ol-muted); }
.affiliation-entity-summary { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.affiliation-source-links { display: grid; gap: .4rem; text-align: right; }
.organization-selection-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem 1rem;
    padding: 1rem;
    border: 1px solid color-mix(in srgb, var(--ol-success) 48%, var(--ol-border));
    border-left: 4px solid var(--ol-success);
    border-radius: .75rem;
    background: color-mix(in srgb, var(--ol-success) 7%, var(--ol-surface));
}
.organization-selection-summary h3 { margin: 0; }
.organization-selection-summary p { margin: .3rem 0 0; color: var(--ol-muted); }
.organization-selection-review { display: grid; gap: .35rem; justify-items: end; text-align: right; }
.organization-selection-review small { color: var(--ol-muted); }
.organization-selection-limitation { grid-column: 1 / -1; font-size: .8rem; }
.organization-resolution { display: grid; gap: .9rem; padding-top: .1rem; }
.organization-resolution-list { display: grid; gap: .75rem; }
.organization-resolution-candidate {
    display: grid;
    gap: .75rem;
    padding: .9rem;
    border: 1px solid var(--ol-border);
    border-radius: .75rem;
    background: var(--ol-surface-muted);
}
.organization-resolution-candidate.selected {
    border-color: color-mix(in srgb, var(--ol-success) 48%, var(--ol-border));
}
.organization-resolution-candidate > header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}
.organization-resolution-candidate > header > div:first-child { display: grid; gap: .2rem; }
.organization-resolution-candidate small { color: var(--ol-muted); }
.organization-resolution-candidate p { margin: 0; font-size: .8rem; }
.organization-resolution-candidate dl { display: grid; gap: .4rem; margin: 0; }
.organization-resolution-candidate dl > div { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: .65rem; }
.organization-resolution-candidate dt { color: var(--ol-muted); font-size: .7rem; text-transform: uppercase; }
.organization-resolution-candidate dd { margin: 0; font-size: .78rem; }
.organization-resolution-actions { display: flex; gap: .55rem; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.registry-results { border-top: 1px solid var(--ol-border); padding-top: 1rem; display: grid; gap: .9rem; }
.registry-results-heading, .registry-source-card > header, .registry-candidate { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.registry-results-heading h3 { margin: .15rem 0 0; }
.registry-source-list, .registry-candidate-list { display: grid; gap: .75rem; }
.registry-source-card { border: 1px solid var(--ol-border); border-radius: .75rem; padding: .9rem; display: grid; gap: .8rem; }
.registry-source-card > header > div, .registry-candidate > div:first-child { display: grid; gap: .2rem; }
.registry-source-card small, .registry-candidate small { color: var(--ol-muted); }
.registry-candidate { border-top: 1px solid var(--ol-border); padding-top: .75rem; }
.registry-candidate:first-child { border-top: 0; padding-top: 0; }
.registry-candidate-actions { display: flex; gap: .45rem; justify-content: flex-end; align-items: center; flex-wrap: wrap; text-align: right; }
.registry-coverage-note { display: flex; gap: .45rem; margin: 0; color: var(--ol-muted); font-size: .82rem; }
.registry-coverage-note i { flex: 0 0 auto; width: 1rem; height: 1rem; margin-top: .1rem; }
.business-context-results { border-top: 1px solid var(--ol-border); padding-top: 1rem; display: grid; gap: .9rem; }
.business-context-list { display: grid; gap: .75rem; }
.business-context-finding, .domain-context-card { border: 1px solid var(--ol-border); border-radius: .75rem; padding: .9rem; background: var(--ol-surface-muted); }
.business-context-finding > header, .domain-context-card > header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.business-context-finding > strong { display: block; margin-top: .7rem; }
.business-context-finding dl { display: grid; gap: .45rem; margin: .7rem 0 0; }
.business-context-finding dl > div { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: .65rem; }
.business-context-finding dt { color: var(--ol-muted); font-size: .7rem; text-transform: uppercase; }
.business-context-finding dd { margin: 0; font-size: .78rem; }
.profile-search-review { margin-bottom: 1rem; }
.profile-search-metrics { margin: 0 0 .75rem; }
.profile-search-audit-meta { overflow-wrap: anywhere; }
.profile-search-candidate > header > div { display: flex; gap: .4rem; flex-wrap: wrap; }
.profile-search-evidence { margin-top: .75rem; }
.profile-search-evidence summary { cursor: pointer; color: var(--ol-muted); font-size: .8rem; }
.profile-search-evidence ul { display: grid; gap: .45rem; margin: .75rem 0 0; padding-left: 1.1rem; }
.profile-search-evidence li { overflow-wrap: anywhere; }
.profile-search-evidence li small { display: block; color: var(--ol-muted); }
.profile-search-review-history { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .75rem; }
.profile-search-review-form { grid-template-columns: minmax(10rem, .7fr) minmax(16rem, 1.3fr); }
.profile-search-review-form label { display: grid; gap: .3rem; color: var(--ol-muted); font-size: .75rem; font-weight: 600; }
.profile-search-review-form select, .profile-search-review-form input { min-height: 2.25rem; border: 1px solid var(--ol-border); border-radius: .45rem; background: var(--ol-surface); color: var(--ol-text); padding: .45rem .65rem; }
.profile-search-review-form .review-actions, .profile-search-review-form > small { grid-column: 1 / -1; }
.public-web-research-analysis { white-space: pre-wrap; }
.domain-context-card { display: grid; gap: .75rem; }
.domain-context-card > header > div { display: grid; gap: .2rem; }
.domain-context-card small { color: var(--ol-muted); }
.domain-record-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.domain-record-grid > div { border: 1px solid var(--ol-border); border-radius: .55rem; padding: .65rem; background: var(--ol-surface); }
.domain-record-grid span { color: var(--ol-muted); font-size: .68rem; font-weight: 700; }
.domain-record-grid ul { display: grid; gap: .2rem; margin: .35rem 0 0; padding-left: 1rem; overflow-wrap: anywhere; }
.business-context-actions { display: flex; gap: .75rem; align-items: end; flex-wrap: wrap; }
.domain-context-form { display: flex; gap: .6rem; align-items: end; flex: 1 1 34rem; }
.domain-context-form label { display: grid; gap: .3rem; flex: 1 1 22rem; color: var(--ol-muted); font-size: .75rem; font-weight: 600; }
.domain-context-form input { min-height: 2.25rem; border: 1px solid var(--ol-border); border-radius: .45rem; background: var(--ol-surface); color: var(--ol-text); padding: .45rem .65rem; }
.offshore-alert { display: flex; gap: 1rem; align-items: flex-start; border: 1px solid rgba(239, 83, 80, .65); border-left: 4px solid #ef5350; border-radius: .8rem; padding: 1rem 1.1rem; margin-bottom: 1.25rem; background: rgba(239, 83, 80, .1); }
.offshore-alert > i { color: #ff7773; flex: 0 0 auto; margin-top: .15rem; }
.offshore-alert p { margin: .35rem 0 .75rem; color: var(--ol-muted); max-width: 80rem; }
.offshore-alert-records { display: flex; flex-wrap: wrap; gap: .6rem; }
.offshore-alert-records span { display: flex; gap: .55rem; align-items: center; flex-wrap: wrap; border: 1px solid rgba(239, 83, 80, .35); border-radius: .55rem; padding: .45rem .65rem; }
.offshore-alert-records em { font-style: normal; color: #ffaaa7; font-size: .82rem; }
.identity-enrichment-body { display: grid; gap: 1rem; }
.public-record-clear { display: flex; gap: .5rem; align-items: center; color: var(--ol-muted); }

/* Destructive case confirmation */
.case-delete-modal {
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--ol-danger) 32%, var(--ol-border));
    border-radius: 14px;
    background: var(--ol-surface);
    color: var(--ol-text);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .36);
}
.case-delete-modal .modal-header,
.case-delete-modal .modal-footer { border-color: var(--ol-border); }
.case-delete-modal .modal-header { align-items: flex-start; }
.case-delete-modal .modal-title { font-size: 1.2rem; font-weight: 700; }
.case-delete-modal .modal-body { display: grid; gap: .8rem; }
.case-delete-modal .form-label { margin: .15rem 0 -.35rem; font-weight: 600; }
.case-delete-warning {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    padding: .8rem;
    border: 1px solid color-mix(in srgb, var(--ol-danger) 35%, var(--ol-border));
    border-radius: .65rem;
    background: color-mix(in srgb, var(--ol-danger) 9%, var(--ol-surface));
}
.case-delete-warning svg { flex: 0 0 auto; width: 1.15rem; color: var(--ol-danger); }
.case-delete-warning p { margin: 0; color: var(--ol-muted); line-height: 1.5; }
.case-delete-reference {
    display: flex;
    gap: .55rem;
    align-items: stretch;
}
.case-delete-reference code {
    min-width: 0;
    flex: 1;
    padding: .6rem .7rem;
    border: 1px solid var(--ol-border);
    border-radius: .5rem;
    background: var(--ol-surface-muted);
    color: var(--ol-text);
    font-family: inherit;
    font-weight: 700;
    overflow-wrap: anywhere;
    user-select: all;
}
.case-delete-reference .btn { display: inline-flex; gap: .4rem; align-items: center; }
.case-delete-reference svg,
.case-delete-modal .modal-footer svg { width: 1rem; }
.case-delete-copy-status {
    min-height: 1rem;
    margin: -.4rem 0 0;
    color: var(--ol-muted);
    font-size: .72rem;
}
.case-delete-error { margin: -.35rem 0 0; color: var(--ol-danger); font-size: .76rem; }
.case-delete-modal .modal-footer { gap: .45rem; }
.case-delete-modal .modal-footer .btn { display: inline-flex; gap: .45rem; align-items: center; }

:root {
    --ol-accent: #0f8b8d;
    --ol-accent-strong: #087274;
    --ol-accent-soft: #e7f6f4;
    --ol-sidebar: #0d1826;
    --ol-sidebar-soft: #152538;
    --ol-sidebar-text: #d8e2ed;
    --ol-sidebar-muted: #8191a6;
    --ol-canvas: #f5f7fa;
    --ol-surface: #ffffff;
    --ol-surface-muted: #f8fafc;
    --ol-text: #142033;
    --ol-muted: #66758a;
    --ol-border: #e1e7ef;
    --ol-shadow: 0 10px 30px rgba(21, 36, 55, 0.06);
    --ol-success: #1f9d68;
    --ol-warning: #d89524;
    --ol-danger: #dc5a67;
    --ol-info: #367ee8;
    --ol-sidebar-width: 272px;
    --ol-sidebar-collapsed: 84px;
    --ol-topbar-height: 72px;
}

[data-bs-theme="dark"] {
    --ol-canvas: #0f1722;
    --ol-surface: #162130;
    --ol-surface-muted: #111c29;
    --ol-text: #e6edf5;
    --ol-muted: #9aabbd;
    --ol-border: #293748;
    --ol-shadow: 0 14px 36px rgba(0, 0, 0, 0.2);
    --ol-accent-soft: rgba(15, 139, 141, 0.17);
    --bs-body-bg: var(--ol-canvas);
    --bs-body-color: var(--ol-text);
    --bs-border-color: var(--ol-border);
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
}

body {
    margin: 0;
    background: var(--ol-canvas);
    color: var(--ol-text);
    font-family: "Alliance No. 2", "Alliance No2", Arial, system-ui, sans-serif;
    font-size: 0.925rem;
}

a {
    color: var(--ol-accent-strong);
}

.app-shell {
    min-height: 100vh;
}

.app-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1040;
    width: var(--ol-sidebar-width);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background:
        radial-gradient(circle at 25% 0, rgba(15, 139, 141, 0.18), transparent 32%),
        var(--ol-sidebar);
    color: var(--ol-sidebar-text);
    transition: width 180ms ease, transform 180ms ease;
}

.sidebar-brand {
    min-height: var(--ol-topbar-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.brand-link {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
}

.brand-mark-wrap {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
}

.brand-mark {
    width: 32px;
    height: 25px;
    object-fit: contain;
}

.brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    white-space: nowrap;
}

.brand-copy strong {
    font-size: 1rem;
    letter-spacing: -0.02em;
}

.brand-copy small {
    margin-top: 5px;
    color: var(--ol-sidebar-muted);
    font-size: 0.72rem;
}

.sidebar-nav {
    flex: 1;
    padding: 22px 14px;
}

.nav-section-label {
    margin: 0 12px 8px;
    color: var(--ol-sidebar-muted);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    white-space: nowrap;
}

.system-label {
    margin-top: 28px;
}

.sidebar-link {
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 5px;
    padding: 0 13px;
    border-radius: 10px;
    color: var(--ol-sidebar-text);
    font-size: 0.86rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.sidebar-link:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    transform: translateX(2px);
}

.sidebar-link.active {
    background: linear-gradient(90deg, rgba(15, 139, 141, 0.28), rgba(15, 139, 141, 0.12));
    box-shadow: inset 3px 0 var(--ol-accent);
    color: #fff;
}

.sidebar-link svg {
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
}

.sidebar-status {
    margin: 14px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.035);
}

.connection-indicator {
    display: flex;
    align-items: center;
    gap: 10px;
}

.status-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 999px;
    background: var(--ol-warning);
    box-shadow: 0 0 0 4px rgba(216, 149, 36, 0.13);
}

.connection-indicator.connected .status-dot {
    background: #45c58b;
    box-shadow: 0 0 0 4px rgba(69, 197, 139, 0.13);
}

.connection-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.connection-copy small {
    color: var(--ol-sidebar-muted);
    font-size: 0.68rem;
}

.connection-copy strong {
    margin-top: 2px;
    color: #f7fafc;
    font-size: 0.77rem;
}

.sidebar-status-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 12px;
    color: #76d6d1;
    font-size: 0.72rem;
    text-decoration: none;
    white-space: nowrap;
}

.sidebar-status-link svg {
    width: 14px;
    height: 14px;
}

.sidebar-account {
    margin: 0 14px;
    padding: 13px 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.account-identity {
    display: flex;
    align-items: center;
    gap: 10px;
}

.account-avatar {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.07);
    color: #76d6d1;
}

.account-avatar svg,
.sidebar-logout svg {
    width: 16px;
    height: 16px;
}

.account-identity div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.account-identity small {
    color: var(--ol-sidebar-muted);
    font-size: 0.65rem;
}

.account-identity strong {
    overflow: hidden;
    margin-top: 2px;
    color: #fff;
    font-size: 0.75rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-logout {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ol-sidebar-muted);
    font-size: 0.7rem;
    text-align: left;
}

.sidebar-logout:hover {
    color: #fff;
}

.app-workspace {
    min-width: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin-left: var(--ol-sidebar-width);
    transition: margin-left 180ms ease;
}

.app-topbar {
    position: sticky;
    top: 0;
    z-index: 1020;
    min-height: var(--ol-topbar-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 28px;
    border-bottom: 1px solid var(--ol-border);
    background: color-mix(in srgb, var(--ol-surface) 92%, transparent);
    backdrop-filter: blur(14px);
}

.topbar-left,
.topbar-actions,
.breadcrumb-line,
.topbar-profile {
    display: flex;
    align-items: center;
}

.topbar-left {
    min-width: 0;
    gap: 14px;
}

.topbar-actions {
    flex: 0 0 auto;
    gap: 12px;
}

.breadcrumb-line {
    min-width: 0;
    gap: 8px;
    color: var(--ol-muted);
    font-size: 0.8rem;
    white-space: nowrap;
}

.breadcrumb-line a {
    color: var(--ol-muted);
    text-decoration: none;
}

.breadcrumb-line span {
    overflow: hidden;
    color: var(--ol-text);
    font-weight: 600;
    text-overflow: ellipsis;
}

.breadcrumb-line svg {
    width: 14px;
    height: 14px;
}

.icon-button {
    width: 38px;
    height: 38px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--ol-border);
    border-radius: 10px;
    background: var(--ol-surface);
    color: var(--ol-muted);
    transition: border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.icon-button:hover {
    border-color: color-mix(in srgb, var(--ol-accent) 45%, var(--ol-border));
    color: var(--ol-accent);
    transform: translateY(-1px);
}

.icon-button svg {
    width: 18px;
    height: 18px;
}

.sidebar-close {
    display: none;
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
}

.topbar-profile {
    gap: 8px;
    color: var(--ol-text);
    font-size: 0.76rem;
}

.topbar-avatar {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--ol-accent) 36%, var(--ol-border));
    border-radius: 10px;
    background: var(--ol-accent-soft);
    color: var(--ol-accent-strong);
}

.topbar-avatar svg,
.topbar-logout svg {
    width: 16px;
    height: 16px;
}

.topbar-logout-form {
    margin: 0;
}

.topbar-logout {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 12px;
    border: 1px solid var(--ol-border);
    border-radius: 10px;
    background: var(--ol-surface);
    color: var(--ol-muted);
    font-size: 0.75rem;
    font-weight: 600;
}

.topbar-logout:hover {
    border-color: color-mix(in srgb, var(--ol-danger) 45%, var(--ol-border));
    color: var(--ol-danger);
}

[data-bs-theme="light"] .theme-icon-light,
[data-bs-theme="dark"] .theme-icon-dark {
    display: none;
}

.app-content {
    width: 100%;
    max-width: 1480px;
    flex: 1;
    align-self: center;
    padding: 34px 36px 44px;
}

.app-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
    padding: 20px 28px;
    border-top: 1px solid var(--ol-border);
    color: var(--ol-muted);
    font-size: 0.72rem;
}

.app-footer a {
    color: inherit;
    text-decoration: none;
}

.app-footer a:hover {
    color: var(--ol-accent);
}

.sidebar-backdrop {
    display: none;
}

.sidebar-collapsed .app-sidebar {
    width: var(--ol-sidebar-collapsed);
}

.sidebar-collapsed .app-workspace {
    margin-left: var(--ol-sidebar-collapsed);
}

.sidebar-collapsed .sidebar-brand {
    padding: 0 22px;
}

.sidebar-collapsed .brand-copy,
.sidebar-collapsed .nav-section-label,
.sidebar-collapsed .sidebar-link span,
.sidebar-collapsed .sidebar-account,
.sidebar-collapsed .sidebar-status {
    display: none;
}

.sidebar-collapsed .sidebar-link {
    justify-content: center;
    padding: 0;
}

.page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}

/* Keep the current page identity and its primary actions visible while the
   operator works through long evidence tables. */
.page-heading,
.persona-profile-header {
    position: sticky;
    top: var(--ol-topbar-height);
    z-index: 900;
    padding-top: 12px;
    padding-bottom: 12px;
    background: color-mix(in srgb, var(--ol-canvas) 96%, transparent);
    backdrop-filter: blur(12px);
}

.page-heading > :first-child,
.panel-header > :first-child {
    min-width: 0;
}

.eyebrow {
    margin: 0 0 7px;
    color: var(--ol-accent-strong);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.page-heading h1 {
    margin: 0;
    color: var(--ol-text);
    font-size: clamp(1.55rem, 2vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.035em;
}

.page-description {
    max-width: 720px;
    margin: 8px 0 0;
    color: var(--ol-muted);
    line-height: 1.65;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}

.metric-card,
.panel-card {
    border: 1px solid var(--ol-border);
    background: var(--ol-surface);
    box-shadow: var(--ol-shadow);
}

.metric-card {
    min-height: 118px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    border-radius: 14px;
}

.metric-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: var(--ol-accent-soft);
    color: var(--ol-accent-strong);
}

.metric-icon svg {
    width: 21px;
    height: 21px;
}

.metric-copy {
    min-width: 0;
}

.metric-label {
    display: block;
    margin-bottom: 5px;
    color: var(--ol-muted);
    font-size: 0.72rem;
    font-weight: 600;
}

.metric-value {
    display: block;
    overflow: hidden;
    color: var(--ol-text);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.metric-detail {
    display: block;
    margin-top: 4px;
    color: var(--ol-muted);
    font-size: 0.68rem;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.7fr);
    gap: 22px;
    align-items: start;
}

.panel-card {
    border-radius: 16px;
    overflow: hidden;
}

.panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px;
    border-bottom: 1px solid var(--ol-border);
}

.panel-header h2,
.panel-header h3 {
    margin: 0;
    color: var(--ol-text);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.015em;
}

.panel-header p {
    margin: 6px 0 0;
    color: var(--ol-muted);
    font-size: 0.78rem;
    overflow-wrap: anywhere;
}

.panel-body {
    padding: 24px;
}

.panel-body + .panel-body {
    border-top: 1px solid var(--ol-border);
}

.form-label {
    color: var(--ol-text);
    font-size: 0.78rem;
    font-weight: 600;
}

.form-control,
.form-select {
    min-height: 45px;
    border-color: var(--ol-border);
    border-radius: 10px;
    background: var(--ol-surface);
    color: var(--ol-text);
    font-size: 0.86rem;
}

textarea.form-control {
    min-height: 116px;
    padding: 14px 15px;
    resize: vertical;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--ol-accent);
    box-shadow: 0 0 0 3px rgba(15, 139, 141, 0.13);
}

.form-text {
    color: var(--ol-muted);
    font-size: 0.7rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.btn {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 9px;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.btn-primary {
    --bs-btn-bg: var(--ol-accent);
    --bs-btn-border-color: var(--ol-accent);
    --bs-btn-hover-bg: var(--ol-accent-strong);
    --bs-btn-hover-border-color: var(--ol-accent-strong);
    --bs-btn-active-bg: var(--ol-accent-strong);
    --bs-btn-active-border-color: var(--ol-accent-strong);
}

.btn-outline-secondary {
    --bs-btn-color: var(--ol-muted);
    --bs-btn-border-color: var(--ol-border);
    --bs-btn-hover-bg: var(--ol-surface-muted);
    --bs-btn-hover-color: var(--ol-text);
    --bs-btn-hover-border-color: var(--ol-border);
}

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

.mode-option {
    position: relative;
}

.mode-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.mode-option label {
    min-height: 82px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 14px 16px;
    border: 1px solid var(--ol-border);
    border-radius: 11px;
    background: var(--ol-surface-muted);
    cursor: pointer;
    transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
}

.mode-option label:hover {
    transform: translateY(-1px);
}

.mode-option input:checked + label {
    border-color: var(--ol-accent);
    background: var(--ol-accent-soft);
    box-shadow: inset 0 0 0 1px var(--ol-accent);
}

.mode-option strong {
    color: var(--ol-text);
    font-size: 0.8rem;
}

.mode-option small {
    margin-top: 4px;
    color: var(--ol-muted);
    font-size: 0.68rem;
}

.investigation-submit {
    width: 100%;
    min-height: 48px;
    margin-top: 20px;
}

.investigation-section {
    margin: 0;
    padding: 0 0 22px;
    border: 0;
}

.investigation-section + .investigation-section,
.query-plan + .investigation-section {
    padding-top: 22px;
    border-top: 1px solid var(--ol-border);
}

.section-heading-row,
.query-plan-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.identifier-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.identifier-row {
    display: grid;
    grid-template-columns: minmax(150px, 0.22fr) minmax(260px, 1fr) minmax(180px, 0.4fr) 40px;
    align-items: center;
    gap: 10px;
}

.identifier-behavior {
    color: var(--ol-muted);
    font-size: 0.69rem;
    line-height: 1.35;
}

.identifier-remove {
    width: 40px;
    height: 40px;
}

.identifier-remove:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.alias-plan {
    padding: 14px;
    border: 1px solid var(--ol-border);
    border-radius: 5px;
    background: var(--ol-surface-muted);
}

.alias-candidate-list {
    display: grid;
    gap: 8px;
}

.alias-candidate-row {
    display: grid;
    grid-template-columns: 24px 32px minmax(180px, 0.7fr) 64px minmax(220px, 1fr);
    align-items: center;
    gap: 9px;
    margin: 0;
    color: var(--ol-text);
}

.alias-rank,
.alias-reason {
    color: var(--ol-muted);
    font-size: 0.68rem;
}

.alias-score {
    justify-content: center;
    min-width: 54px;
}

.investigation-check {
    margin-top: 15px;
    padding-left: 1.7rem;
}

.investigation-check .form-check-label {
    color: var(--ol-text);
    font-size: 0.76rem;
    font-weight: 600;
}

.investigation-check code {
    color: var(--ol-text);
}

.research-context-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

textarea.form-control.compact-textarea {
    min-height: 88px;
}

.sensitive-context-check {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--ol-border);
}

.query-plan {
    margin-bottom: 22px;
    padding: 17px 18px;
    border: 1px solid var(--ol-border);
    border-left: 3px solid var(--ol-accent);
    border-radius: 5px;
    background: var(--ol-surface-muted);
}

.query-plan h3 {
    margin: 2px 0 0;
    color: var(--ol-text);
    font-size: 0.94rem;
    font-weight: 700;
}

.query-plan p {
    margin: 12px 0 0;
    color: var(--ol-muted);
    font-size: 0.74rem;
}

.query-plan-count {
    padding: 5px 8px;
    border: 1px solid var(--ol-border);
    border-radius: 5px;
    color: var(--ol-accent-strong);
    font-size: 0.7rem;
    font-weight: 700;
}

.query-plan-targets {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.query-target-chip {
    max-width: 100%;
    overflow: hidden;
    padding: 5px 7px;
    border: 1px solid var(--ol-border);
    border-radius: 4px;
    background: var(--ol-surface);
    color: var(--ol-text);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.query-plan .query-plan-note {
    margin-top: 10px;
    font-size: 0.68rem;
}

.coverage-section {
    padding-bottom: 0;
}

.collector-routing-scroll {
    margin-top: 16px;
    overflow-x: auto;
}

.collector-routing {
    width: 100%;
    min-width: 560px;
    table-layout: fixed;
    font-size: 0.72rem;
    line-height: 1.5;
}

.collector-routing th,
.collector-routing td {
    padding: 10px 12px 10px 0;
    border-bottom: 1px solid var(--ol-border);
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
}

.collector-routing th:first-child {
    width: 23%;
}

.collector-routing th:nth-child(2) {
    width: 39%;
}

.collector-routing .routing-status,
.collector-routing .routing-reason {
    display: block;
}

.collector-routing .routing-reason {
    margin-top: 3px;
    color: var(--ol-muted);
    font-size: 0.69rem;
}

.collector-routing .routing-inputs {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.investigation-form-error {
    margin: 18px 0 0;
}

.case-scope-card {
    margin-bottom: 18px;
}

.case-scope-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
    gap: 24px;
}

.scope-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 9px;
}

.scope-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 100%;
    padding: 6px 8px;
    border: 1px solid var(--ol-border);
    border-radius: 4px;
    background: var(--ol-surface-muted);
    color: var(--ol-text);
    font-size: 0.72rem;
    overflow-wrap: anywhere;
}

.scope-chip small {
    color: var(--ol-muted);
    text-transform: capitalize;
}

.scope-terms {
    display: grid;
    gap: 8px;
    margin: 9px 0 0;
}

.scope-terms div {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 10px;
    font-size: 0.72rem;
}

.scope-terms dt {
    color: var(--ol-muted);
    font-weight: 500;
}

.scope-terms dd {
    margin: 0;
    color: var(--ol-text);
}

.guidance-list {
    display: grid;
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.guidance-item {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 12px;
}

.guidance-number {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--ol-surface-muted);
    color: var(--ol-accent-strong);
    font-size: 0.72rem;
    font-weight: 700;
}

.guidance-item strong {
    display: block;
    color: var(--ol-text);
    font-size: 0.78rem;
}

.guidance-item p {
    margin: 4px 0 0;
    color: var(--ol-muted);
    font-size: 0.7rem;
    line-height: 1.55;
}

.legal-note {
    display: flex;
    gap: 10px;
    margin-top: 18px;
    padding: 13px 14px;
    border: 1px solid color-mix(in srgb, var(--ol-warning) 35%, var(--ol-border));
    border-radius: 10px;
    background: color-mix(in srgb, var(--ol-warning) 8%, var(--ol-surface));
    color: var(--ol-muted);
    font-size: 0.69rem;
    line-height: 1.5;
}

.legal-note svg {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    color: var(--ol-warning);
}

.badge-soft {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border-radius: 999px;
    background: var(--ol-accent-soft);
    color: var(--ol-accent-strong);
    font-size: 0.67rem;
    font-weight: 700;
    white-space: nowrap;
}

.badge-soft.success {
    background: rgba(31, 157, 104, 0.12);
    color: var(--ol-success);
}

.badge-soft.warning {
    background: rgba(216, 149, 36, 0.12);
    color: var(--ol-warning);
}

.settings-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.settings-nav {
    position: sticky;
    top: calc(var(--ol-topbar-height) + 24px);
    padding: 10px;
}

.settings-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 9px;
    color: var(--ol-muted);
    font-size: 0.76rem;
    font-weight: 600;
    text-decoration: none;
}

.settings-nav a:hover,
.settings-nav a.active {
    background: var(--ol-accent-soft);
    color: var(--ol-accent-strong);
}

.settings-nav svg {
    width: 17px;
    height: 17px;
}

.settings-stack {
    display: grid;
    gap: 22px;
}

#investigation,
#filters,
#connections,
#security {
    scroll-margin-top: calc(var(--ol-topbar-height) + 20px);
}

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

.settings-section-title {
    margin: 24px 0 14px;
    color: var(--ol-text);
    font-size: 0.82rem;
    font-weight: 700;
}

.settings-section-title:first-child {
    margin-top: 0;
}

.connection-card {
    display: grid;
    grid-template-columns: minmax(360px, 1.25fr) minmax(240px, 0.75fr);
    gap: 24px;
    align-items: start;
}

.connection-form {
    min-width: 0;
}

.connection-security {
    min-width: 0;
}

.connection-brand {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 18px;
}

.connection-logo {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid var(--ol-border);
    border-radius: 12px;
    background: var(--ol-surface-muted);
    color: var(--ol-text);
}

.connection-logo svg {
    width: 21px;
    height: 21px;
}

.connection-brand h3 {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
}

.connection-brand p {
    margin: 3px 0 0;
    color: var(--ol-muted);
    font-size: 0.7rem;
}

.secret-field {
    position: relative;
}

.secret-field .form-control {
    padding-right: 46px;
}

.secret-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ol-muted);
    transform: translateY(-50%);
}

.secret-toggle svg {
    width: 17px;
    height: 17px;
}

.connection-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.security-callout {
    display: flex;
    gap: 12px;
    padding: 15px;
    border: 1px solid var(--ol-border);
    border-radius: 11px;
    background: var(--ol-surface-muted);
    color: var(--ol-muted);
    font-size: 0.7rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.analysis-disclaimer {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 11px;
    margin-bottom: 16px;
    padding: 13px 15px;
    border: 1px solid color-mix(in srgb, var(--ol-info) 30%, var(--ol-border));
    border-radius: 5px;
    background: color-mix(in srgb, var(--ol-info) 7%, var(--ol-surface));
    color: var(--ol-muted);
}

.analysis-disclaimer svg {
    width: 19px;
    height: 19px;
    color: var(--ol-info);
}

.analysis-disclaimer p {
    margin: 0;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.security-callout svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: var(--ol-success);
}

.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    max-height: 280px;
    overflow-y: auto;
    padding: 14px;
    border: 1px solid var(--ol-border);
    border-radius: 10px;
    background: var(--ol-surface-muted);
}

.tag-group-label {
    width: 100%;
    margin: 10px 0 2px;
    color: var(--ol-muted);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tag-group-label:first-child {
    margin-top: 0;
}

.tag {
    padding: 6px 9px;
    border: 1px solid var(--ol-border);
    border-radius: 999px;
    background: var(--ol-surface);
    color: var(--ol-muted);
    font-size: 0.66rem;
    cursor: pointer;
    user-select: none;
}

.tag.selected {
    border-color: rgba(31, 157, 104, 0.4);
    background: rgba(31, 157, 104, 0.12);
    color: var(--ol-success);
}

.tag.excluded {
    border-color: rgba(220, 90, 103, 0.35);
    background: rgba(220, 90, 103, 0.1);
    color: var(--ol-danger);
    text-decoration: line-through;
}

.hidden-select {
    display: none !important;
}

.selected-sites {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.selected-site {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 9px;
    border-radius: 999px;
    background: var(--ol-accent-soft);
    color: var(--ol-accent-strong);
    font-size: 0.68rem;
}

.remove-site {
    border: 0;
    background: transparent;
    color: inherit;
    font-weight: 700;
    cursor: pointer;
}

.data-table-card .table {
    margin: 0;
    color: var(--ol-text);
}

.data-table-card th {
    padding: 13px 18px;
    border-bottom-color: var(--ol-border);
    background: var(--ol-surface-muted);
    color: var(--ol-muted);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.data-table-card td {
    padding: 15px 18px;
    border-bottom-color: var(--ol-border);
    color: var(--ol-text);
    font-size: 0.76rem;
}

.history-actions {
    white-space: nowrap;
}

.history-actions .btn + form,
.history-actions form + .btn {
    margin-left: 6px;
}

.history-actions .btn svg {
    width: 14px;
    height: 14px;
}

.security-page-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
    gap: 22px;
    align-items: start;
}

.security-form,
.security-control-list {
    display: grid;
    gap: 18px;
}

.security-form .btn {
    justify-self: start;
}

.login-body {
    min-height: 100vh;
    background: var(--ol-canvas);
}

.login-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(420px, 0.9fr) minmax(480px, 1.1fr);
}

.login-brand-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: 54px clamp(38px, 6vw, 88px);
    background:
        radial-gradient(circle at 15% 5%, rgba(15, 139, 141, 0.36), transparent 32%),
        radial-gradient(circle at 85% 90%, rgba(54, 126, 232, 0.18), transparent 36%),
        var(--ol-sidebar);
    color: #fff;
}

.login-brand-panel::after {
    position: absolute;
    right: -80px;
    bottom: -140px;
    width: 380px;
    height: 380px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    content: "";
}

.login-brand,
.login-trust-line {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
}

.login-brand {
    gap: 13px;
}

.login-brand-mark,
.login-mobile-mark {
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.07);
}

.login-brand-mark {
    width: 46px;
    height: 46px;
}

.login-brand-mark img,
.login-mobile-mark img {
    width: 27px;
    height: 27px;
}

.login-brand div {
    display: flex;
    flex-direction: column;
}

.login-brand strong {
    font-size: 1.05rem;
}

.login-brand small {
    margin-top: 3px;
    color: var(--ol-sidebar-muted);
    font-size: 0.7rem;
}

.login-brand-copy {
    position: relative;
    z-index: 1;
    max-width: 560px;
    margin: 80px 0;
}

.login-eyebrow {
    margin: 0 0 14px;
    color: #76d6d1;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.login-brand-copy h1 {
    max-width: 520px;
    margin: 0;
    font-size: clamp(2.15rem, 4vw, 4rem);
    font-weight: 600;
    letter-spacing: -0.055em;
    line-height: 1.06;
}

.login-brand-copy > p:last-child {
    max-width: 520px;
    margin: 24px 0 0;
    color: #aebccd;
    font-size: 0.88rem;
    line-height: 1.75;
}

.login-trust-line {
    gap: 9px;
    color: var(--ol-sidebar-muted);
    font-size: 0.69rem;
}

.login-trust-line svg {
    width: 17px;
    height: 17px;
    color: #45c58b;
}

.login-form-panel {
    position: relative;
    display: grid;
    place-items: center;
    padding: 48px clamp(28px, 7vw, 110px);
    background: var(--ol-surface);
}

.login-theme-toggle {
    position: absolute;
    top: 28px;
    right: 28px;
}

.login-form-wrap {
    width: min(100%, 430px);
}

.login-heading {
    margin-bottom: 28px;
}

.login-heading h2 {
    margin: 0;
    color: var(--ol-text);
    font-size: clamp(1.65rem, 3vw, 2.15rem);
    font-weight: 700;
    letter-spacing: -0.04em;
}

.login-heading > p:last-child {
    margin: 9px 0 0;
    color: var(--ol-muted);
    line-height: 1.6;
}

.login-mobile-mark {
    display: none;
    width: 44px;
    height: 44px;
    margin-bottom: 24px;
    border-color: var(--ol-border);
    background: var(--ol-sidebar);
}

.login-form {
    display: grid;
    gap: 18px;
}

.login-form .form-control {
    min-height: 50px;
}

.login-submit {
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 3px;
}

.login-submit svg {
    width: 17px;
    height: 17px;
}

.login-legal {
    margin: 24px 0 0;
    color: var(--ol-muted);
    font-size: 0.67rem;
    line-height: 1.55;
    text-align: center;
}

.login-configuration-error {
    margin-bottom: 20px;
}

.login-configuration-error svg {
    color: var(--ol-danger);
}

.empty-state {
    padding: 56px 24px;
    text-align: center;
}

.empty-state-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    margin: 0 auto 14px;
    border-radius: 14px;
    background: var(--ol-accent-soft);
    color: var(--ol-accent-strong);
}

.empty-state h2 {
    margin: 0;
    font-size: 1rem;
}

.empty-state p {
    margin: 8px auto 18px;
    color: var(--ol-muted);
    font-size: 0.75rem;
}

.live-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.live-stat {
    padding: 14px;
    border: 1px solid var(--ol-border);
    border-radius: 11px;
    background: var(--ol-surface-muted);
}

.live-stat span {
    display: block;
    color: var(--ol-muted);
    font-size: 0.66rem;
}

.live-stat strong {
    display: block;
    margin-top: 4px;
    color: var(--ol-text);
    font-size: 1rem;
}

#graph {
    height: 600px;
    border: 1px solid var(--ol-border);
    border-radius: 12px;
    background: var(--ol-surface-muted);
}

.progress {
    background: var(--ol-surface-muted);
}

.progress-bar {
    background: var(--ol-accent);
}

.loading-panel {
    display: grid;
    place-items: center;
    min-height: 360px;
    text-align: center;
}

.loading-ring {
    width: 52px;
    height: 52px;
    margin: 0 auto 20px;
    border: 4px solid var(--ol-border);
    border-top-color: var(--ol-accent);
    border-radius: 999px;
    animation: spin 800ms linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.results-grid {
    display: grid;
    gap: 22px;
}

.report-container {
    border: 1px solid var(--ol-border);
    border-radius: 11px;
    overflow: hidden;
}

.report-container + .report-container {
    margin-top: 10px;
}

.report-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 17px;
    background: var(--ol-surface-muted);
    cursor: pointer;
}

.report-content {
    display: none;
    padding: 17px;
    border-top: 1px solid var(--ol-border);
}

.report-content.show {
    display: block;
}

.chevron::after {
    content: "⌄";
    display: inline-block;
    transition: transform 160ms ease;
}

.chevron.collapsed::after {
    transform: rotate(-90deg);
}

.profile-list {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.profile-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid var(--ol-border);
}

.profile-link,
.tag-container {
    display: flex;
    align-items: center;
    gap: 8px;
}

.profile-link {
    min-width: 0;
    max-width: 100%;
}

.profile-link a {
    min-width: 0;
    overflow-wrap: anywhere;
}

.profile-link > span {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.profile-link small {
    color: var(--ol-muted);
    font-size: 0.72rem;
    line-height: 1.4;
}

.reliability-candidate-list {
    padding: 0 12px;
    border: 1px solid rgba(216, 149, 36, 0.28);
    border-radius: 10px;
    background: rgba(216, 149, 36, 0.04);
}

.reliability-suppressed {
    padding: 12px;
    border: 1px solid var(--ol-border);
    border-radius: 10px;
    background: var(--ol-background);
}

.reliability-suppressed summary {
    cursor: pointer;
    color: var(--ol-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.tag-container {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.favicon {
    width: 16px;
    height: 16px;
}

.tag-badge {
    padding: 4px 7px;
    border-radius: 999px;
    background: var(--ol-accent-soft);
    color: var(--ol-accent-strong);
    font-size: 0.62rem;
}

.ai-analysis-card {
    border-color: color-mix(in srgb, var(--ol-accent) 30%, var(--ol-border));
}

.ai-analysis-output {
    max-height: 640px;
    overflow: auto;
    margin: 16px 0 0;
    padding: 16px;
    border: 1px solid var(--ol-border);
    border-radius: 10px;
    background: var(--ol-surface-muted);
    color: var(--ol-text);
    font-family: "Alliance No. 2", "Alliance No2", Arial, system-ui, sans-serif;
    font-size: 0.75rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.flash-stack {
    display: grid;
    gap: 10px;
    margin-bottom: 20px;
}

.flash-stack .alert {
    margin: 0;
    border-radius: 11px;
    font-size: 0.76rem;
}

@media (max-width: 1279px) {
    .settings-layout {
        grid-template-columns: 1fr;
    }

    .settings-nav {
        position: static;
        display: flex;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
    }

    .settings-nav a {
        flex: 0 0 auto;
    }
}

/* A restrained radius system keeps the analytical workspace compact and
   avoids the soft, consumer-app appearance of deeply rounded frames. */
.brand-mark-wrap,
.sidebar-link,
.sidebar-status,
.account-avatar,
.icon-button,
.topbar-avatar,
.topbar-logout,
.metric-card,
.metric-icon,
.panel-card,
.form-control,
.form-select,
.btn,
.mode-option label,
.guidance-number,
.legal-note,
.badge-soft,
.settings-nav a,
.connection-logo,
.secret-toggle,
.security-callout,
.tag,
.selected-site,
.login-brand-mark,
.login-mobile-mark,
.empty-state-icon,
.live-stat,
#graph,
.report-container,
.tag-badge,
.ai-analysis-output,
.flash-stack .alert {
    border-radius: 5px;
}

@media (max-width: 1199px) {
    .dashboard-grid {
        grid-template-columns: minmax(0, 1.4fr) minmax(250px, 0.7fr);
    }
}

@media (max-width: 1099px) {
    .connection-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991px) {
    .app-sidebar {
        width: min(310px, calc(100vw - 48px));
        transform: translateX(-100%);
    }

    .app-workspace,
    .sidebar-collapsed .app-workspace {
        margin-left: 0;
    }

    .sidebar-collapsed .app-sidebar {
        width: min(310px, calc(100vw - 48px));
    }

    .sidebar-collapsed .brand-copy,
    .sidebar-collapsed .nav-section-label,
    .sidebar-collapsed .sidebar-link span,
    .sidebar-collapsed .sidebar-account,
    .sidebar-collapsed .sidebar-status {
        display: initial;
    }

    .sidebar-collapsed .sidebar-link {
        justify-content: flex-start;
        padding: 0 13px;
    }

    .sidebar-open .app-sidebar {
        transform: translateX(0);
    }

    .sidebar-open .sidebar-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1030;
        display: block;
        border: 0;
        background: rgba(4, 10, 18, 0.56);
    }

    .sidebar-close {
        display: inline-grid;
    }

    .dashboard-grid,
    .security-page-grid,
    .case-scope-grid {
        grid-template-columns: 1fr;
    }

    .identifier-row {
        grid-template-columns: minmax(150px, 0.35fr) minmax(240px, 1fr) 40px;
    }

    .alias-candidate-row {
        grid-template-columns: 24px 32px minmax(220px, 1fr) 64px;
    }

    .alias-reason {
        grid-column: 3 / -1;
    }

    .identifier-behavior {
        grid-column: 2;
    }

    .identifier-remove {
        grid-column: 3;
        grid-row: 1;
    }
}

@media (max-width: 899px) {
    .login-shell {
        grid-template-columns: 1fr;
    }

    .login-brand-panel {
        display: none;
    }

    .login-form-panel {
        min-height: 100vh;
        padding: 72px 24px 40px;
    }

    .login-mobile-mark {
        display: grid;
    }
}

@media (max-width: 767px) {
    .app-topbar {
        padding: 0 16px;
    }

    .app-content {
        padding: 26px 18px 36px;
    }

    .topbar-profile strong,
    .topbar-logout span {
        display: none;
    }

    .topbar-logout {
        width: 38px;
        justify-content: center;
        padding: 0;
    }

    .page-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .metric-grid,
    .settings-grid,
    .live-stats {
        grid-template-columns: 1fr;
    }

    .mode-selector {
        grid-template-columns: 1fr;
    }

    .section-heading-row,
    .query-plan-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .identifier-row,
    .research-context-grid,
    .alias-candidate-row {
        grid-template-columns: 1fr;
    }

    .alias-candidate-row .form-check-input {
        justify-self: start;
    }

    .alias-reason {
        grid-column: auto;
    }

    .identifier-behavior,
    .identifier-remove {
        grid-column: auto;
        grid-row: auto;
    }

    .identifier-remove {
        justify-self: end;
    }

    .panel-header,
    .panel-body {
        padding: 19px;
    }

    .connection-card {
        grid-template-columns: 1fr;
    }

    .profile-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .tag-container {
        justify-content: flex-start;
    }

    #graph {
        height: 480px;
    }

    .footer-separator {
        display: none;
    }

    .app-footer {
        flex-direction: column;
    }
}

@media (max-width: 575px) {
    .app-topbar {
        gap: 10px;
        padding: 0 12px;
    }

    .topbar-left {
        gap: 10px;
    }

    .breadcrumb-line > a,
    .breadcrumb-line > svg,
    .topbar-profile {
        display: none;
    }

    .app-content {
        padding: 22px 14px 32px;
    }

    .page-heading {
        gap: 14px;
        margin-bottom: 22px;
    }

    .page-heading > .badge-soft {
        align-self: flex-start;
    }

    .panel-header {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
        padding: 17px;
    }

    .panel-header > .badge-soft {
        align-self: flex-start;
    }

    .panel-body {
        padding: 17px;
    }

    .connection-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .connection-actions .btn {
        width: 100%;
    }

    .scope-terms div {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .report-header {
        align-items: flex-start;
        gap: 12px;
        overflow-wrap: anywhere;
    }

    .report-header .chevron {
        flex: 0 0 auto;
    }

    .map-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .profile-link {
        align-items: flex-start;
        flex-wrap: wrap;
    }
}

/* Case intelligence workspace */
.heading-actions,
.persona-heading-copy,
.claim-main,
.claim-badges,
.review-actions {
    display: flex;
    align-items: center;
}

.heading-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.heading-actions form {
    margin: 0;
}

.heading-actions .btn,
.claim-review-form .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.heading-actions .btn svg,
.claim-review-form .btn svg {
    width: 16px;
    height: 16px;
}

.case-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
    gap: 16px;
}

.persona-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 10px;
}

.persona-summary-card {
    min-width: 0;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 11px;
    padding: 14px;
    border: 1px solid var(--ol-border);
    border-radius: 4px;
    color: var(--ol-text);
    background: var(--ol-surface-muted);
    text-decoration: none;
}

.persona-summary-card:hover {
    border-color: var(--ol-accent);
    color: var(--ol-text);
}

.persona-summary-card > svg {
    width: 17px;
    color: var(--ol-muted);
}

.persona-summary-card strong,
.persona-summary-card small {
    display: block;
}

.persona-summary-card small {
    margin-top: 3px;
    color: var(--ol-muted);
}

.persona-summary-icon,
.persona-avatar {
    display: grid;
    place-items: center;
    color: var(--ol-accent);
    background: var(--ol-accent-soft);
}

.persona-summary-icon {
    width: 38px;
    height: 38px;
    border-radius: 4px;
}

.persona-summary-icon svg {
    width: 19px;
}

/* Read-only case evidence timeline */
.timeline-page-heading {
    margin-bottom: 18px;
}

.timeline-policy,
.timeline-filter-note {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    color: var(--ol-text);
}

.timeline-policy {
    margin-bottom: 14px;
    padding: 13px 15px;
    border: 1px solid rgba(15, 139, 141, 0.42);
    border-radius: 4px;
    background: rgba(15, 139, 141, 0.08);
}

.timeline-policy svg,
.timeline-filter-note svg {
    width: 20px;
    color: var(--ol-accent);
}

.timeline-policy strong,
.timeline-policy span {
    display: block;
}

.timeline-policy span {
    margin-top: 2px;
    color: var(--ol-muted);
    font-size: 0.84rem;
}

.timeline-toolbar {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(190px, 0.8fr) minmax(150px, 0.5fr) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 14px;
    padding: 14px;
}

.timeline-toolbar label {
    min-width: 0;
    display: grid;
    gap: 5px;
}

.timeline-toolbar label > span {
    color: var(--ol-muted);
    font-size: 0.75rem;
    font-weight: 700;
}

.timeline-toolbar-actions {
    display: flex;
    gap: 7px;
}

.timeline-toolbar-actions .btn {
    min-height: 45px;
    display: inline-flex;
    align-items: center;
}

.timeline-filter-note {
    align-items: center;
    margin: -2px 0 14px;
    padding: 10px 13px;
    border-left: 2px solid var(--ol-info);
    background: rgba(54, 126, 232, 0.08);
    color: var(--ol-muted);
    font-size: 0.78rem;
}

.timeline-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.timeline-kpis article {
    padding: 14px;
    border: 1px solid var(--ol-border);
    border-radius: 4px;
    background: var(--ol-surface);
}

.timeline-kpis span,
.timeline-kpis strong,
.timeline-kpis small {
    display: block;
}

.timeline-kpis span,
.timeline-kpis small {
    color: var(--ol-muted);
}

.timeline-kpis strong {
    margin: 3px 0 1px;
    font-size: 1.35rem;
}

.timeline-panel-body {
    padding: 20px 24px 24px;
}

.case-timeline-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.timeline-event {
    position: relative;
    display: grid;
    grid-template-columns: 132px 34px minmax(0, 1fr);
    gap: 12px;
    padding-bottom: 16px;
}

.timeline-event::after {
    position: absolute;
    top: 34px;
    bottom: 0;
    left: 160px;
    width: 1px;
    background: var(--ol-border);
    content: "";
}

.timeline-event:last-child {
    padding-bottom: 0;
}

.timeline-event:last-child::after {
    display: none;
}

.timeline-time {
    padding-top: 7px;
    color: var(--ol-muted);
    text-align: right;
}

.timeline-time strong,
.timeline-time span {
    display: block;
}

.timeline-time strong {
    color: var(--ol-text);
    font-size: 0.78rem;
}

.timeline-time span {
    margin-top: 2px;
    font-size: 0.7rem;
}

.timeline-marker {
    position: relative;
    z-index: 1;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid var(--ol-border);
    border-radius: 4px;
    color: var(--ol-muted);
    background: var(--ol-surface);
}

.timeline-marker svg {
    width: 17px;
}

.event-evidence .timeline-marker {
    border-color: rgba(54, 126, 232, 0.4);
    color: var(--ol-info);
}

.event-review .timeline-marker {
    border-color: rgba(31, 157, 104, 0.4);
    color: var(--ol-success);
}

.timeline-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--ol-border);
    border-radius: 4px;
    background: var(--ol-surface-muted);
}

.timeline-card > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 15px;
    border-bottom: 1px solid var(--ol-border);
    background: var(--ol-surface);
}

.timeline-card h3 {
    margin: 2px 0 0;
    color: var(--ol-text);
    font-size: 0.9rem;
}

.timeline-type {
    color: var(--ol-muted);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.timeline-claim {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 15px;
    border-bottom: 1px solid var(--ol-border);
}

.timeline-claim span,
.timeline-claim strong {
    display: block;
}

.timeline-claim span {
    color: var(--ol-muted);
    font-size: 0.7rem;
}

.timeline-claim strong {
    margin-top: 3px;
    overflow-wrap: anywhere;
    color: var(--ol-text);
}

.timeline-claim > a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.76rem;
    text-decoration: none;
}

.timeline-claim > a svg {
    width: 14px;
}

.timeline-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
    margin: 0;
    padding: 10px 15px 13px;
}

.timeline-detail-grid > div {
    min-width: 0;
    padding: 7px 0;
    border-bottom: 1px solid var(--ol-border);
}

.timeline-detail-grid .timeline-detail-wide {
    grid-column: 1 / -1;
}

.timeline-detail-grid dt,
.timeline-detail-grid dd {
    margin: 0;
}

.timeline-detail-grid dt {
    color: var(--ol-muted);
    font-size: 0.68rem;
    text-transform: uppercase;
}

.timeline-detail-grid dd {
    margin-top: 3px;
    overflow-wrap: anywhere;
    color: var(--ol-text);
    font-size: 0.78rem;
}

.timeline-detail-grid code {
    color: var(--ol-text);
    white-space: normal;
}

.timeline-metadata {
    margin: 0 15px 14px;
    padding: 10px;
    border-left: 2px solid var(--ol-warning);
    background: rgba(216, 149, 36, 0.08);
}

.timeline-metadata > span {
    color: var(--ol-muted);
    font-size: 0.72rem;
    font-weight: 700;
}

.timeline-metadata dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 6px;
    margin: 8px 0 0;
}

.timeline-metadata dl > div {
    padding: 7px;
    border: 1px solid var(--ol-border);
    background: var(--ol-surface);
}

.timeline-metadata dt,
.timeline-metadata dd {
    margin: 0;
}

.timeline-metadata dt {
    color: var(--ol-muted);
    font-size: 0.66rem;
}

.timeline-metadata dd {
    margin-top: 2px;
    overflow-wrap: anywhere;
    color: var(--ol-text);
    font-size: 0.76rem;
}

.timeline-limit-note {
    padding: 11px 15px;
    border-top: 1px solid var(--ol-border);
    color: var(--ol-muted);
    background: var(--ol-surface-muted);
    font-size: 0.74rem;
}

.persona-heading-copy {
    gap: 15px;
}

.persona-export-button {
    flex: 0 0 auto;
    white-space: nowrap;
}

.persona-avatar {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    border: 1px solid rgba(15, 139, 141, 0.35);
    border-radius: 5px;
}

.persona-avatar svg {
    width: 27px;
    height: 27px;
}

.persona-notice {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 16px;
    padding: 13px 15px;
    border: 1px solid rgba(54, 126, 232, 0.35);
    border-radius: 4px;
    color: var(--ol-text);
    background: rgba(54, 126, 232, 0.08);
}

.persona-notice > svg {
    width: 20px;
    color: var(--ol-info);
}

.persona-notice strong,
.persona-notice span {
    display: block;
}

.persona-ai-status {
    margin-bottom: 16px;
}

.ai-pipeline-status {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-top: 14px;
}

.ai-pipeline-status article {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 9px;
    padding: 11px;
    border: 1px solid var(--ol-border);
    background: var(--ol-surface-muted);
}

.ai-pipeline-step {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(15, 139, 141, 0.46);
    color: var(--ol-accent);
    background: rgba(15, 139, 141, 0.1);
    font-size: 0.75rem;
    font-weight: 700;
}

.ai-pipeline-status small,
.ai-pipeline-status strong,
.ai-pipeline-status p {
    display: block;
    margin: 0;
}

.ai-pipeline-status small,
.ai-pipeline-status p {
    color: var(--ol-muted);
}

.ai-pipeline-status strong {
    margin: 2px 0 3px;
}

.ai-pipeline-status p {
    font-size: 0.75rem;
    line-height: 1.4;
}

.ai-validation-details {
    margin-top: 9px;
    color: var(--ol-muted);
    font-size: 0.78rem;
}

.ai-validation-details summary {
    cursor: pointer;
}

.ai-validation-details ul {
    max-width: 540px;
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}

.ai-validation-details li {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 6px 0;
    border-bottom: 1px solid var(--ol-border);
}

.persona-notice span {
    margin-top: 2px;
    color: var(--ol-muted);
    font-size: 0.84rem;
}

.persona-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.75fr);
    align-items: start;
    gap: 16px;
}

.persona-fields {
    display: grid;
    gap: 16px;
}

.persona-side {
    position: sticky;
    top: calc(var(--ol-topbar-height) + 16px);
}

.persona-form {
    padding: 0;
}

.persona-field {
    display: grid;
    grid-template-columns: minmax(150px, 0.28fr) minmax(0, 0.72fr);
    border-top: 1px solid var(--ol-border);
}

.persona-field:first-child {
    border-top: 0;
}

.persona-field-label {
    padding: 17px 19px;
    color: var(--ol-muted);
    font-size: 0.82rem;
    font-weight: 700;
    background: var(--ol-surface-muted);
}

.persona-field-content {
    min-width: 0;
    padding: 12px;
}

.claim-record {
    padding: 12px;
    border: 1px solid var(--ol-border);
    border-left: 3px solid var(--ol-border);
    border-radius: 3px;
    background: var(--ol-surface-muted);
}

.claim-record + .claim-record {
    margin-top: 9px;
}

.claim-record.review-approved {
    border-left-color: var(--ol-success);
}

.claim-record.review-rejected {
    border-left-color: var(--ol-danger);
    opacity: 0.72;
}

.claim-record.review-uncertain {
    border-left-color: var(--ol-warning);
}

.claim-main {
    justify-content: space-between;
    gap: 12px;
}

.claim-value {
    min-width: 0;
    overflow-wrap: anywhere;
}

.claim-value strong,
.claim-value a {
    display: block;
}

.claim-value a {
    margin-top: 2px;
}

.claim-identifier {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 3px;
}

.claim-identifier span {
    color: var(--ol-muted);
    font-size: 0.78rem;
}

.claim-identifier code {
    max-width: 100%;
    padding: 2px 5px;
    overflow-wrap: anywhere;
    color: var(--ol-text);
    border: 1px solid var(--ol-border);
    background: var(--ol-surface);
}

.claim-context-note {
    display: block;
    max-width: 720px;
    margin-top: 5px;
    color: var(--ol-muted);
    font-size: 0.76rem;
    line-height: 1.4;
}

.claim-badges {
    flex: 0 0 auto;
    gap: 6px;
}

.confidence-badge,
.review-badge {
    padding: 4px 7px;
    border: 1px solid var(--ol-border);
    border-radius: 3px;
    color: var(--ol-muted);
    font-size: 0.72rem;
    white-space: nowrap;
}

.review-badge.approved {
    border-color: rgba(31, 157, 104, 0.35);
    color: var(--ol-success);
}

.review-badge.rejected {
    border-color: rgba(220, 90, 103, 0.35);
    color: var(--ol-danger);
}

.review-badge.uncertain {
    border-color: rgba(216, 149, 36, 0.35);
    color: var(--ol-warning);
}

.claim-evidence {
    margin-top: 10px;
    color: var(--ol-muted);
    font-size: 0.8rem;
}

.claim-evidence summary {
    cursor: pointer;
}

.claim-evidence ul {
    margin: 8px 0 0;
    padding-left: 18px;
}

.claim-evidence li span {
    margin-left: 7px;
    color: var(--ol-muted);
}

.claim-evidence li small {
    display: block;
    margin-top: 3px;
    color: var(--ol-text-soft);
    line-height: 1.45;
}

.account-metadata-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 6px;
    max-width: 720px;
    margin: 8px 0 0;
}

.account-metadata-list div {
    min-width: 0;
    padding: 6px 8px;
    border: 1px solid var(--ol-border);
    background: var(--ol-surface);
}

.account-metadata-list dt,
.account-metadata-list dd {
    margin: 0;
}

.account-metadata-list dt {
    color: var(--ol-muted);
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.account-metadata-list dd {
    margin-top: 2px;
    overflow-wrap: anywhere;
    color: var(--ol-text);
    font-size: 0.78rem;
}

.claim-review-form {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) auto;
    gap: 8px;
    margin-top: 11px;
}

.claim-amend {
    margin-top: 10px;
    border-top: 1px solid var(--ol-border);
    color: var(--ol-muted);
}

.claim-amend > summary {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 6px;
    padding-top: 9px;
    cursor: pointer;
    font-size: 0.78rem;
}

.claim-amend > summary svg {
    width: 14px;
}

.claim-review-form input[type="text"] {
    min-width: 0;
    padding: 7px 9px;
    border: 1px solid var(--ol-border);
    border-radius: 3px;
    color: var(--ol-text);
    background: var(--ol-surface);
}

.review-actions {
    gap: 5px;
}

.btn-review {
    border-color: var(--ol-border);
    color: var(--ol-muted);
}

.btn-review.approve:hover {
    border-color: var(--ol-success);
    color: var(--ol-success);
}

.btn-review.uncertain:hover {
    border-color: var(--ol-warning);
    color: var(--ol-warning);
}

.btn-review.reject:hover {
    border-color: var(--ol-danger);
    color: var(--ol-danger);
}

.review-meta {
    display: block;
    margin-top: 8px;
    color: var(--ol-muted);
}

.empty-field {
    min-height: 45px;
    display: flex;
    align-items: center;
    color: var(--ol-muted);
    font-style: italic;
}

.persona-graph {
    width: 100%;
    min-height: 420px;
    display: block;
    background: var(--ol-surface-muted);
}

.graph-edge {
    stroke: var(--ol-border);
    stroke-width: 1.2;
}

.graph-node circle {
    fill: var(--ol-surface);
    stroke: var(--ol-accent);
    stroke-width: 2;
}

.graph-node.graph-persona circle {
    fill: var(--ol-accent);
}

.graph-node.graph-source circle {
    fill: var(--ol-surface-muted);
    stroke: var(--ol-muted);
}

.graph-node text {
    fill: var(--ol-text);
    font-family: "Alliance No. 2", "Alliance No2", Arial, system-ui, sans-serif;
    font-size: 10px;
}

.graph-empty {
    margin: -56px 20px 20px;
    color: var(--ol-muted);
    text-align: center;
}

@media (max-width: 1199px) {
    .persona-layout {
        grid-template-columns: 1fr;
    }

    .persona-side {
        position: static;
    }
}

@media (max-width: 991px) {
    .case-layout,
    .timeline-toolbar {
        grid-template-columns: 1fr;
    }

    .timeline-toolbar-actions .btn {
        flex: 1;
        justify-content: center;
    }
}

@media (max-width: 767px) {
    .heading-actions,
    .claim-main {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .heading-actions .btn,
    .heading-actions form,
    .heading-actions form .btn {
        width: 100%;
    }

    .persona-field {
        grid-template-columns: 1fr;
    }

    .persona-field-label {
        padding-bottom: 8px;
    }

    .claim-badges {
        align-self: flex-start;
        flex-wrap: wrap;
    }

    .claim-review-form {
        grid-template-columns: 1fr;
    }

    .review-actions {
        flex-wrap: wrap;
    }

    .timeline-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .timeline-event {
        grid-template-columns: 34px minmax(0, 1fr);
    }

    .timeline-event::after {
        left: 16px;
    }

    .timeline-time {
        grid-column: 2;
        grid-row: 1;
        padding: 0 0 3px;
        text-align: left;
    }

    .timeline-marker {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    .timeline-card {
        grid-column: 2;
    }

    .timeline-claim,
    .timeline-card > header {
        flex-direction: column;
    }

    .timeline-detail-grid {
        grid-template-columns: 1fr;
    }

    .timeline-detail-grid .timeline-detail-wide {
        grid-column: auto;
    }
}

@media (max-width: 575px) {
    .timeline-kpis {
        grid-template-columns: 1fr;
    }

    .timeline-toolbar-actions {
        flex-direction: column;
    }
}

/* Evidence-backed Persona profile */
.persona-profile-header {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    margin-bottom: 16px;
    padding: 18px;
    border: 1px solid var(--ol-border);
    border-radius: 4px;
    background: var(--ol-surface);
}

.persona-photo-frame {
    width: 112px;
    aspect-ratio: 4 / 5;
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--ol-border);
    border-radius: 3px;
    background: var(--ol-surface-muted);
}

.persona-photo-frame img,
.claim-photo-frame img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.persona-photo-placeholder,
.photo-fallback {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 7px;
    color: var(--ol-muted);
    text-align: center;
}

.persona-photo-placeholder svg {
    width: 34px;
    height: 34px;
}

.persona-photo-placeholder small {
    max-width: 80px;
    line-height: 1.2;
}

.persona-profile-copy h1 {
    margin-bottom: 5px;
    overflow-wrap: anywhere;
}

.persona-status-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
}

.persona-status-strip span {
    padding: 5px 8px;
    border: 1px solid var(--ol-border);
    border-radius: 3px;
    color: var(--ol-muted);
    font-size: 0.77rem;
    background: var(--ol-surface-muted);
}

.persona-status-strip strong {
    color: var(--ol-text);
}

.persona-lifecycle {
    display: grid;
    grid-template-columns: 1fr 20px 1fr 20px 1fr;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    padding: 12px 15px;
    border: 1px solid var(--ol-border);
    border-radius: 4px;
    background: var(--ol-surface);
}

.persona-lifecycle > div {
    min-width: 0;
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    column-gap: 9px;
}

.persona-lifecycle > div > span {
    width: 25px;
    height: 25px;
    grid-row: span 2;
    display: grid;
    place-items: center;
    border-radius: 3px;
    color: var(--ol-accent);
    background: var(--ol-accent-soft);
    font-size: 0.72rem;
    font-weight: 800;
}

.persona-lifecycle strong,
.persona-lifecycle small {
    display: block;
}

.persona-lifecycle small {
    margin-top: 2px;
    color: var(--ol-muted);
    line-height: 1.35;
}

.persona-lifecycle > svg {
    width: 17px;
    color: var(--ol-muted);
}

.persona-tabs {
    display: flex;
    gap: 0;
    overflow-x: auto;
    border: 1px solid var(--ol-border);
    border-bottom: 0;
    border-radius: 4px 4px 0 0;
    background: var(--ol-surface-muted);
}

.persona-tab {
    min-height: 46px;
    padding: 10px 14px;
    border: 0;
    border-right: 1px solid var(--ol-border);
    border-bottom: 2px solid transparent;
    color: var(--ol-muted);
    background: transparent;
    white-space: nowrap;
}

.persona-tab:hover,
.persona-tab.active {
    color: var(--ol-text);
    background: var(--ol-surface);
}

.persona-tab.active {
    border-bottom-color: var(--ol-accent);
}

.persona-tab span,
.relationship-filter span,
.review-filter span {
    margin-left: 5px;
    padding: 2px 5px;
    border-radius: 3px;
    color: var(--ol-text);
    background: var(--ol-surface);
    font-size: 0.7rem;
}

.persona-tab-workspace .panel-card {
    border-radius: 0 0 4px 4px;
}

.claim-photo-frame {
    width: min(220px, 100%);
    aspect-ratio: 4 / 5;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--ol-border);
    border-radius: 3px;
    background: var(--ol-surface);
}

.claim-source-link {
    margin-top: 6px !important;
    font-size: 0.78rem;
}

.claim-review-form {
    grid-template-columns: 1fr;
}

.claim-review-row {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) auto;
    gap: 8px;
}

.coordinate-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(120px, 190px));
    gap: 7px;
    padding: 9px;
    border: 1px solid var(--ol-border);
    background: var(--ol-surface);
}

.coordinate-fields label {
    display: grid;
    gap: 4px;
    color: var(--ol-muted);
    font-size: 0.74rem;
    font-weight: 700;
}

.coordinate-fields input {
    width: 100%;
    padding: 7px 9px;
    border: 1px solid var(--ol-border);
    border-radius: 3px;
    color: var(--ol-text);
    background: var(--ol-surface-muted);
}

.coordinate-fields > small {
    grid-column: 1 / -1;
    color: var(--ol-muted);
}

.coordinate-proposal-note {
    padding: 7px 9px;
    border-left: 2px solid var(--ol-warning);
    color: var(--ol-text-soft) !important;
    background: rgba(216, 149, 36, 0.08);
}

.persona-map-section {
    padding: 18px;
    border-top: 1px solid var(--ol-border);
}

.map-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 12px;
}

.map-section-heading h3,
.map-section-heading p {
    margin: 0;
}

.map-section-heading p,
.map-disclosure {
    margin-top: 3px;
    color: var(--ol-muted);
    font-size: 0.78rem;
}

.persona-location-map {
    width: 100%;
    height: 390px;
    border: 1px solid var(--ol-border);
    border-radius: 3px;
    background: var(--ol-surface-muted);
}

.map-empty {
    min-height: 150px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 9px;
    border: 1px dashed var(--ol-border);
    color: var(--ol-muted);
    text-align: center;
}

.map-empty svg {
    width: 28px;
}

.review-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--ol-border);
}

.review-filter,
.relationship-filter {
    padding: 7px 10px;
    border: 1px solid var(--ol-border);
    border-radius: 3px;
    color: var(--ol-muted);
    background: var(--ol-surface-muted);
}

.review-filter:hover,
.review-filter.active,
.relationship-filter:hover,
.relationship-filter.active {
    border-color: var(--ol-accent);
    color: var(--ol-text);
}

.review-filter:not(.active),
.relationship-filter:not(.active) {
    opacity: 0.6;
}

.review-queue-list {
    display: grid;
    gap: 12px;
}

.review-queue-item {
    display: grid;
    grid-template-columns: minmax(130px, 0.2fr) minmax(0, 0.8fr);
    gap: 12px;
    align-items: start;
}

.review-field-name {
    padding: 10px;
    color: var(--ol-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

/* Evidence relationship workspace */
.relationship-mode-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 12px;
}

.relationship-mode-tabs a {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid var(--ol-border);
    color: var(--ol-muted);
    background: var(--ol-surface);
    text-decoration: none;
}

.relationship-mode-tabs a:hover,
.relationship-mode-tabs a.active {
    border-color: var(--ol-accent);
    color: var(--ol-text);
    background: rgba(15, 139, 141, 0.08);
}

.relationship-mode-tabs svg {
    width: 20px;
    color: var(--ol-accent);
}

.relationship-mode-tabs strong,
.relationship-mode-tabs small {
    display: block;
}

.relationship-mode-tabs small {
    margin-top: 2px;
    color: var(--ol-muted);
    font-size: 0.76rem;
}

.relationship-policy {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 14px;
    padding: 13px 15px;
    border: 1px solid rgba(15, 139, 141, 0.42);
    border-radius: 4px;
    background: rgba(15, 139, 141, 0.08);
}

.relationship-policy svg {
    width: 20px;
    color: var(--ol-accent);
}

.relationship-policy strong,
.relationship-policy span {
    display: block;
}

.relationship-policy span {
    margin-top: 2px;
    color: var(--ol-muted);
    font-size: 0.84rem;
}

.relationship-toolbar {
    display: grid;
    grid-template-columns: minmax(250px, 0.4fr) minmax(0, 1fr) auto;
    gap: 13px;
    align-items: end;
    margin-bottom: 14px;
    padding: 14px;
}

.relationship-case-filter {
    display: grid;
    gap: 5px;
}

.relationship-case-filter label {
    color: var(--ol-muted);
    font-size: 0.75rem;
    font-weight: 700;
}

.relationship-case-filter select {
    min-height: 39px;
    padding: 7px 9px;
    border: 1px solid var(--ol-border);
    border-radius: 3px;
    color: var(--ol-text);
    background: var(--ol-surface-muted);
}

.relationship-field-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.relationship-fit {
    min-height: 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.relationship-fit svg {
    width: 16px;
}

.relationship-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 14px;
}

.relationship-kpis article {
    padding: 14px;
    border: 1px solid var(--ol-border);
    border-radius: 4px;
    background: var(--ol-surface);
}

.relationship-kpis span,
.relationship-kpis strong,
.relationship-kpis small {
    display: block;
}

.relationship-kpis span,
.relationship-kpis small {
    color: var(--ol-muted);
}

.relationship-kpis strong {
    margin: 4px 0 2px;
    font-size: 1.45rem;
}

.relationship-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.32fr);
    gap: 14px;
    align-items: start;
}

.relationship-graph {
    width: 100%;
    height: 650px;
    background: var(--ol-surface-muted);
}

.relationship-inspector {
    position: sticky;
    top: calc(var(--ol-topbar-height) + 16px);
}

.inspector-empty,
.relationship-empty {
    min-height: 240px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 9px;
    padding: 24px;
    color: var(--ol-muted);
    text-align: center;
}

.relationship-empty {
    min-height: 500px;
}

.inspector-empty svg,
.relationship-empty svg {
    width: 31px;
}

.relationship-empty h3,
.relationship-empty p,
#relationshipInspector h3 {
    margin: 0;
}

.inspector-row {
    display: grid;
    gap: 2px;
    padding: 10px 0;
    border-bottom: 1px solid var(--ol-border);
}

.inspector-row span {
    color: var(--ol-muted);
    font-size: 0.74rem;
}

.inspector-link {
    width: 100%;
    margin-top: 14px;
}

.inspector-personas {
    margin: 14px 0 0;
    padding-left: 18px;
}

.inspector-personas li {
    margin-bottom: 11px;
}

.inspector-personas li > a,
.inspector-personas li > small,
.inspector-evidence-source,
.inspector-source-link {
    display: block;
}

.inspector-personas li > small {
    margin-top: 2px;
    color: var(--ol-muted);
}

.inspector-evidence-source,
.inspector-source-link {
    margin-top: 5px;
    font-size: 0.78rem;
}

@media (max-width: 1199px) {
    .persona-profile-header {
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .persona-photo-frame {
        width: 96px;
    }

    .persona-heading-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .relationship-layout {
        grid-template-columns: 1fr;
    }

    .relationship-inspector {
        position: static;
    }
}

@media (max-width: 767px) {
    .persona-profile-header {
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 13px;
    }

    .persona-photo-frame {
        width: 76px;
    }

    .persona-lifecycle,
    .ai-pipeline-status,
    .relationship-mode-tabs,
    .relationship-toolbar,
    .relationship-kpis,
    .review-queue-item {
        grid-template-columns: 1fr;
    }

    .persona-lifecycle > svg {
        display: none;
    }

    .claim-review-row,
    .coordinate-fields {
        grid-template-columns: 1fr;
    }

    .relationship-graph {
        height: 520px;
    }
}

/* Read-only three-panel relationship investigation workspace */
.relationship-page-heading { margin-bottom: 18px; }
.relationship-mode-tabs a { border-radius: 10px; }
.relationship-policy { border-radius: 10px; }

.relationship-scope-bar {
    display: grid;
    grid-template-columns: minmax(190px, .42fr) minmax(240px, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 12px;
    padding: 11px 14px;
    border-radius: 10px;
}
.relationship-scope-field { min-width: 0; display: grid; gap: 4px; }
.relationship-scope-field label,
.relationship-control-label {
    margin: 0;
    color: var(--ol-muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .025em;
}
.relationship-scope-field select,
.relationship-layout-select,
.relationship-search-wrap input {
    width: 100%;
    min-height: 38px;
    padding: 7px 9px;
    border: 1px solid var(--ol-border);
    border-radius: 7px;
    color: var(--ol-text);
    background: var(--ol-surface-muted);
}
.relationship-scope-summary {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    color: var(--ol-muted);
    font-size: .72rem;
    white-space: nowrap;
}
.relationship-scope-summary strong { color: var(--ol-text); font-size: .9rem; }

.relationship-workspace-grid {
    display: grid;
    grid-template-columns: minmax(220px, .3fr) minmax(460px, 1fr) minmax(260px, .36fr);
    gap: 12px;
    align-items: start;
}
.relationship-explorer,
.relationship-stage,
.relationship-inspector { min-width: 0; }
.relationship-explorer,
.relationship-inspector {
    position: sticky;
    top: calc(var(--ol-topbar-height) + 12px);
    max-height: calc(100vh - var(--ol-topbar-height) - 24px);
}
.relationship-panel-heading,
.relationship-stage-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 16px;
    border-bottom: 1px solid var(--ol-border);
}
.relationship-panel-heading .eyebrow,
.relationship-stage-header .eyebrow { margin-bottom: 4px; }
.relationship-panel-heading h2,
.relationship-stage-header h2 { margin: 0; color: var(--ol-text); font-size: .9rem; font-weight: 700; }
.relationship-control-scroll,
.relationship-inspector-body {
    max-height: calc(100vh - var(--ol-topbar-height) - 100px);
    overflow: auto;
    scrollbar-width: thin;
}
.relationship-control-section {
    display: grid;
    gap: 9px;
    padding: 14px 15px;
    border-bottom: 1px solid var(--ol-border);
}
.relationship-control-section:last-child { border-bottom: 0; }
.relationship-search-wrap { position: relative; }
.relationship-search-wrap svg {
    position: absolute;
    top: 11px;
    left: 10px;
    width: 16px;
    color: var(--ol-muted);
    pointer-events: none;
}
.relationship-search-wrap input { padding-left: 34px; font-size: .77rem; }
.relationship-search-results:empty { display: none; }
.relationship-search-results { display: grid; gap: 5px; }
.relationship-search-result {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
    padding: 8px 9px;
    border: 1px solid var(--ol-border);
    border-radius: 7px;
    color: var(--ol-text);
    background: var(--ol-surface-muted);
    font-size: .72rem;
    text-align: left;
}
.relationship-search-result:hover { border-color: var(--ol-accent); }
.relationship-search-result span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.relationship-search-result small { color: var(--ol-muted); text-transform: capitalize; }

.relationship-action-button,
.relationship-focus-buttons button,
.relationship-view-switch button,
.relationship-table-inspect {
    border: 1px solid var(--ol-border);
    border-radius: 7px;
    color: var(--ol-muted);
    background: var(--ol-surface-muted);
}
.relationship-action-button {
    width: 100%;
    min-height: 35px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 9px;
    font-size: .74rem;
    text-align: left;
}
.relationship-action-button svg { width: 15px; flex: 0 0 15px; }
.relationship-action-button span {
    min-width: 20px;
    margin-left: auto;
    padding: 1px 5px;
    border-radius: 999px;
    color: var(--ol-text);
    background: var(--ol-border);
    text-align: center;
}
.relationship-action-button:hover:not(:disabled),
.relationship-focus-buttons button:hover:not(:disabled),
.relationship-focus-buttons button[aria-pressed="true"],
.relationship-view-switch button:hover,
.relationship-view-switch button.active {
    border-color: var(--ol-accent);
    color: var(--ol-text);
    background: rgba(15, 139, 141, .1);
}
.relationship-action-button:disabled,
.relationship-focus-buttons button:disabled { opacity: .45; cursor: not-allowed; }
.relationship-focus-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.relationship-focus-buttons button { min-height: 34px; font-size: .74rem; }
.relationship-control-help { margin: 0; color: var(--ol-muted); font-size: .68rem; line-height: 1.45; }
.relationship-field-filters { display: grid; gap: 6px; }
.relationship-filter {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    padding: 7px 9px;
    border-radius: 7px;
    font-size: .72rem;
    text-align: left;
}
.relationship-filter strong { color: var(--ol-text); font-size: .68rem; }

.relationship-legend ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.relationship-legend li {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    color: var(--ol-muted);
    font-size: .71rem;
}
.relationship-legend li strong { color: var(--ol-text); font-size: .7rem; }
.legend-node {
    width: 12px;
    height: 12px;
    display: block;
    justify-self: center;
    border: 2px solid transparent;
    border-radius: 50%;
}
.legend-persona { border-color: #30c7ca; background: #0f8b8d; }
.legend-approved { border-color: #20bd83; border-radius: 3px; background: #12392f; }
.legend-review { border-color: #d5a846; border-radius: 3px; background: #41351e; }
.legend-source { border-color: #6f849c; background: #152538; }
.legend-attribute { border-color: #73a5d1; border-radius: 2px; background: #17314a; transform: rotate(45deg) scale(.8); }
.legend-edge { width: 15px; height: 2px; justify-self: center; background: #5d7189; }

.relationship-stage-header { min-height: 67px; align-items: center; }
.relationship-view-switch {
    flex: 0 0 auto;
    display: flex;
    gap: 4px;
    padding: 3px;
    border: 1px solid var(--ol-border);
    border-radius: 9px;
    background: var(--ol-surface-muted);
}
.relationship-view-switch button {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border-color: transparent;
    font-size: .7rem;
}
.relationship-view-switch svg { width: 14px; }
.relationship-view-pane { min-height: 650px; }
.relationship-graph {
    width: 100%;
    height: 650px;
    border: 1px solid transparent;
    background: radial-gradient(circle at 50% 42%, rgba(15, 139, 141, .08), transparent 38%), var(--ol-surface-muted);
}
.relationship-graph:fullscreen {
    width: 100vw;
    height: 100vh;
    border: 0;
    background: var(--ol-surface, #090909);
}
.relationship-graph:focus-visible,
.relationship-scope-field select:focus-visible,
.relationship-layout-select:focus-visible,
.relationship-search-wrap input:focus-visible {
    border-color: var(--ol-accent);
    outline: 3px solid color-mix(in srgb, var(--ol-accent) 24%, transparent);
    outline-offset: 1px;
}
.relationship-graph-status {
    min-height: 35px;
    display: flex;
    align-items: center;
    padding: 8px 13px;
    border-top: 1px solid var(--ol-border);
    color: var(--ol-muted);
    font-size: .68rem;
}
.relationship-table-pane { background: var(--ol-surface-muted); }
.relationship-table-scroll { width: 100%; height: 650px; overflow: auto; }
.relationship-table { width: 100%; border-collapse: collapse; color: var(--ol-text); font-size: .74rem; }
.relationship-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 10px 12px;
    border-bottom: 1px solid var(--ol-border);
    color: var(--ol-muted);
    background: var(--ol-surface);
    font-size: .67rem;
    text-align: left;
    text-transform: uppercase;
}
.relationship-table td { padding: 10px 12px; border-bottom: 1px solid var(--ol-border); vertical-align: top; }
.relationship-table tr.is-faded td { opacity: .42; }
.relationship-table-record { min-width: 160px; font-weight: 700; }
.relationship-table-context { color: var(--ol-muted); }
.relationship-table-type { text-transform: capitalize; }
.relationship-table-inspect { padding: 5px 8px; color: var(--ol-text); font-size: .68rem; white-space: nowrap; }

.relationship-inspector { position: sticky; }
.relationship-inspector-body { padding: 15px; }
.relationship-inspector-body > h3 { margin: 0; font-size: .98rem; overflow-wrap: anywhere; }
.inspector-kind {
    display: inline-flex;
    margin: 8px 0 2px;
    padding: 3px 7px;
    border: 1px solid rgba(15, 139, 141, .35);
    border-radius: 999px;
    color: var(--ol-accent-strong);
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
}
.inspector-row { display: grid; gap: 2px; padding: 9px 0; border-bottom: 1px solid var(--ol-border); }
.inspector-row span { color: var(--ol-muted); font-size: .68rem; }
.inspector-row strong { font-size: .77rem; overflow-wrap: anywhere; }
.inspector-section { margin-top: 16px; }
.inspector-section h4 { margin: 0; color: var(--ol-muted); font-size: .7rem; text-transform: uppercase; }
.inspector-evidence-list { display: grid; gap: 8px; margin: 9px 0 0; padding: 0; list-style: none; }
.inspector-evidence-list li {
    padding: 9px;
    border: 1px solid var(--ol-border);
    border-radius: 7px;
    background: var(--ol-surface-muted);
    overflow-wrap: anywhere;
}
.inspector-evidence-list li > a,
.inspector-evidence-list li > small { display: block; }
.inspector-evidence-list li > small { margin-top: 3px; color: var(--ol-muted); font-size: .67rem; }
.relationship-empty { min-height: 650px; }

@media (max-width: 1199px) {
    .relationship-workspace-grid { grid-template-columns: minmax(220px, .38fr) minmax(0, 1fr); }
    .relationship-inspector { grid-column: 1 / -1; position: static; max-height: none; }
    .relationship-inspector-body { max-height: none; }
}
@media (max-width: 991px) {
    .relationship-workspace-grid { grid-template-columns: minmax(0, 1fr); }
    .relationship-explorer,
    .relationship-inspector { grid-column: auto; position: static; max-height: none; }
    .relationship-control-scroll { max-height: none; overflow: visible; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .relationship-control-section { border-right: 1px solid var(--ol-border); }
}
@media (max-width: 767px) {
    .relationship-scope-bar,
    .relationship-control-scroll { grid-template-columns: 1fr; }
    .relationship-scope-summary { justify-content: flex-start; }
    .relationship-control-section { border-right: 0; }
    .relationship-stage-header { align-items: flex-start; flex-direction: column; }
    .relationship-view-switch { width: 100%; }
    .relationship-view-switch button { flex: 1; justify-content: center; }
    .relationship-graph,
    .relationship-view-pane,
    .relationship-table-scroll { height: 520px; min-height: 520px; }
    .relationship-empty { min-height: 520px; }
}
@media (prefers-reduced-motion: reduce) {
    .relationship-workspace-grid *,
    .relationship-mode-tabs * { transition-duration: .01ms !important; }
}

/* Case assistant and role management */
.topbar-profile > span:last-child { display: grid; line-height: 1.05; }
.topbar-profile > span:last-child small {
    margin-top: 3px;
    color: var(--ol-muted);
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.analyst-create-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 12px;
    align-items: end;
}
.analyst-list { display: grid; gap: 9px; }
.analyst-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 11px;
    align-items: center;
    padding: 11px 12px;
    border: 1px solid var(--ol-border);
    border-radius: 9px;
    background: var(--ol-surface-muted);
}
.analyst-row > span:nth-child(2) { display: grid; }
.analyst-row small { color: var(--ol-muted); font-size: .72rem; }

.case-chat-governance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-bottom: 16px;
    overflow: hidden;
    border: 1px solid var(--ol-border);
    border-radius: 10px;
    background: var(--ol-border);
}
.case-chat-governance > span {
    display: flex;
    gap: 9px;
    align-items: center;
    padding: 12px 14px;
    background: var(--ol-surface);
    color: var(--ol-muted);
    font-size: .74rem;
}
.case-chat-governance svg { width: 16px; color: var(--ol-accent-strong); }
.case-chat-governance strong { color: var(--ol-text); }
.case-chat-shell { min-width: 0; }
.case-chat-panel { overflow: hidden; }
.case-chat-thread {
    display: grid;
    gap: 16px;
    min-height: 430px;
    max-height: calc(100vh - 390px);
    padding: 22px;
    overflow-y: auto;
    background:
        radial-gradient(circle at 10% 0%, rgba(15, 139, 141, .08), transparent 28%),
        var(--ol-bg);
}
.case-chat-message {
    width: min(82%, 880px);
    padding: 16px;
    border: 1px solid var(--ol-border);
    border-radius: 12px;
    background: var(--ol-surface);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
}
.case-chat-message.user {
    justify-self: end;
    border-color: rgba(15, 139, 141, .4);
    background: color-mix(in srgb, var(--ol-surface) 88%, var(--ol-accent) 12%);
}
.case-chat-message.assistant { justify-self: start; }
.case-chat-message > header {
    display: flex;
    gap: 9px;
    align-items: center;
    margin-bottom: 12px;
}
.case-chat-message > header > span:nth-child(2) { display: grid; }
.case-chat-message > header small { color: var(--ol-muted); font-size: .67rem; }
.case-chat-message > header .badge-soft { margin-left: auto; }
.case-chat-avatar {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 8px;
    background: var(--ol-surface-muted);
    color: var(--ol-accent-strong);
}
.case-chat-avatar svg { width: 16px; }
.case-chat-message-content {
    color: var(--ol-text);
    font-size: .86rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}
.case-chat-sources {
    margin-top: 15px;
    padding-top: 13px;
    border-top: 1px solid var(--ol-border);
    font-size: .74rem;
}
.case-chat-message-content.formatted { white-space: normal; }
.case-chat-message-content.formatted > :last-child { margin-bottom: 0; }
.case-chat-message-content.formatted p { margin: 0 0 .8em; }
.case-chat-message-content.formatted ul,
.case-chat-message-content.formatted ol { padding-left: 1.5em; margin-bottom: .8em; }
.case-chat-message-content.formatted pre { overflow-x: auto; white-space: pre; }
.case-chat-url-evidence { margin-top: 15px; font-size: .74rem; }
.case-chat-url-evidence ul { padding-left: 20px; margin: 6px 0 0; }
.case-chat-url-evidence li { margin-bottom: 10px; overflow-wrap: anywhere; }
.case-chat-url-evidence li > * { display: block; }
.case-chat-url-evidence span { color: var(--ol-muted); margin: 3px 0; }
.case-chat-sources > strong { display: block; margin-bottom: 5px; }
.case-chat-sources ol { display: grid; gap: 4px; margin: 0; padding-left: 20px; }
.case-chat-sources a { overflow-wrap: anywhere; }
.case-chat-proposal-note {
    display: flex;
    gap: 7px;
    align-items: center;
    margin-top: 14px;
    padding: 9px 10px;
    border: 1px solid rgba(15, 139, 141, .35);
    border-radius: 7px;
    background: rgba(15, 139, 141, .08);
    color: var(--ol-accent-strong);
    font-size: .72rem;
}
.case-chat-proposal-note.warning {
    border-color: rgba(214, 159, 46, .35);
    background: rgba(214, 159, 46, .08);
    color: #d69f2e;
}
.case-chat-proposal-note svg { width: 15px; }
.case-chat-empty {
    display: grid;
    min-height: 390px;
    place-content: center;
    justify-items: center;
    padding: 40px;
    color: var(--ol-muted);
    text-align: center;
}
.case-chat-empty > span {
    display: grid;
    width: 52px;
    height: 52px;
    margin-bottom: 13px;
    place-items: center;
    border: 1px solid var(--ol-border);
    border-radius: 14px;
    color: var(--ol-accent-strong);
}
.case-chat-empty h2 { margin: 0 0 7px; color: var(--ol-text); font-size: 1.05rem; }
.case-chat-empty p { max-width: 580px; margin: 0; font-size: .8rem; }
.case-chat-composer {
    padding: 16px;
    border-top: 1px solid var(--ol-border);
    background: var(--ol-surface);
}
.case-chat-composer textarea { resize: vertical; }
.case-chat-options {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto auto auto;
    gap: 14px;
    align-items: end;
    margin-top: 12px;
}
.case-chat-shell[data-combined="true"] .case-chat-options {
    grid-template-columns: minmax(180px, 1fr) auto auto;
}
.case-chat-target label {
    display: block;
    margin-bottom: 5px;
    color: var(--ol-muted);
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
}
.case-chat-options .form-check { margin: 0 0 8px; white-space: nowrap; }
.case-chat-composer-note { margin: 10px 0 0; color: var(--ol-muted); font-size: .69rem; }
.case-chat-error {
    margin-top: 10px;
    padding: 9px 11px;
    border: 1px solid rgba(220, 53, 69, .35);
    border-radius: 7px;
    background: rgba(220, 53, 69, .08);
    color: #e77480;
    font-size: .75rem;
}

.page-heading-actions,
.case-title-line,
.panel-card-header,
.combined-source-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.page-heading-actions { justify-content: flex-end; }
.case-title-line { align-items: baseline; }
.panel-card-header {
    justify-content: space-between;
    padding: 20px 22px;
    border-bottom: 1px solid var(--ol-border);
}
.panel-card-header h2 { margin: 0; font-size: 1rem; }
.combine-case-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr);
    gap: 18px;
    align-items: start;
}
.combine-case-selection,
.combine-case-details,
.combined-case-overview { border-radius: 14px; overflow: hidden; }
.combine-case-search {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin: 16px 20px 10px;
    padding: 0 12px;
    border: 1px solid var(--ol-border);
    border-radius: 9px;
    background: var(--ol-surface-muted);
}
.combine-case-search svg { width: 17px; color: var(--ol-muted); }
.combine-case-search input {
    min-width: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.combine-case-list {
    display: grid;
    gap: 8px;
    max-height: 560px;
    padding: 8px 20px 20px;
    overflow-y: auto;
}
.combine-case-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px;
    border: 1px solid var(--ol-border);
    border-radius: 10px;
    background: var(--ol-surface-muted);
    cursor: pointer;
}
.combine-case-option:has(input:checked) {
    border-color: var(--ol-accent);
    background: var(--ol-accent-soft);
}
.combine-case-option input { margin-top: 3px; }
.combine-case-option-copy { display: grid; gap: 3px; min-width: 0; }
.combine-case-option-copy strong,
.combine-case-option-copy small,
.combine-case-option-copy span { overflow-wrap: anywhere; }
.combine-case-option-copy small,
.combine-case-option-copy span { color: var(--ol-muted); font-size: .7rem; }
.combine-case-details {
    display: grid;
    gap: 10px;
    padding: 22px;
    position: sticky;
    top: 90px;
}
.combine-case-details h2 { margin: 0 0 8px; font-size: 1rem; }
.combine-case-details > label {
    margin-top: 6px;
    color: var(--ol-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.combine-case-details textarea { resize: vertical; }
.combine-case-summary { margin: 8px 0 2px; }
.combine-case-submit { justify-content: center; width: 100%; }
.combine-case-no-results { padding: 0 20px 20px; }
.case-metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.case-metric-grid .metric-card {
    display: grid;
    gap: 6px;
    align-content: center;
}
.metric-footnote { color: var(--ol-muted); font-size: .7rem; }
.warning-callout {
    margin-bottom: 20px;
    border-color: color-mix(in srgb, var(--ol-warning) 45%, var(--ol-border));
}
.warning-callout svg { color: var(--ol-warning); }
.combined-case-overview { margin-bottom: 20px; }
.combined-case-metadata { display: grid; gap: 0; margin: 0; padding: 0 22px 20px; }
.combined-case-metadata > div {
    display: grid;
    grid-template-columns: minmax(130px, .35fr) minmax(0, 1fr);
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid var(--ol-border);
}
.combined-case-metadata > div:last-child { border-bottom: 0; }
.combined-case-metadata dt { color: var(--ol-muted); font-size: .7rem; }
.combined-case-metadata dd { margin: 0; overflow-wrap: anywhere; }
.snapshot-hash,
.snapshot-hash-short { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.legend-organization { background: #3a2a17; border-color: #d6a14a; }
.legend-ai-pending { border-top: 2px dashed #d5a846; }
.legend-ai-approved { border-top-color: #20bd83; }
.combined-insight-panel { margin-bottom: 20px; overflow: hidden; border-color: color-mix(in srgb, var(--ol-accent) 35%, var(--ol-border)); }
.combined-insight-header { background: linear-gradient(135deg, rgba(15, 139, 141, .13), transparent 58%); }
.combined-insight-run-meta { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; color: var(--ol-muted); font-size: .68rem; }
.combined-executive-summary { padding: 22px; border-bottom: 1px solid var(--ol-border); }
.combined-executive-summary p { max-width: 1040px; margin: 8px 0; font-size: 1rem; line-height: 1.65; }
.combined-executive-summary small { color: var(--ol-muted); }
.insight-section-label,
.relationship-type { color: var(--ol-accent); font-size: .64rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.combined-insight-empty { display: flex; gap: 12px; align-items: flex-start; padding: 22px; }
.combined-insight-empty.compact { margin: 0 22px 22px; padding: 16px; border: 1px solid var(--ol-border); border-radius: 10px; background: var(--ol-surface-muted); }
.combined-insight-empty.warning { color: var(--ol-warning); }
.combined-insight-empty svg { width: 20px; flex: 0 0 auto; color: var(--ol-accent); }
.combined-insight-empty p { margin: 3px 0 10px; color: var(--ol-muted); }
.combined-ai-live {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    padding: 22px;
}
.combined-ai-live > svg {
    width: 20px;
    color: var(--ol-accent);
    animation: spin 1.2s linear infinite;
}
.combined-ai-live p { margin: 4px 0 8px; color: var(--ol-muted); }
.combined-ai-elapsed { color: var(--ol-muted); font-size: .72rem; }
.combined-ai-elapsed strong { color: var(--ol-text); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.combined-insight-list-block { padding: 18px 22px; border-bottom: 1px solid var(--ol-border); }
.combined-insight-list-block h3,
.relationship-proposal-heading h3,
.combined-analysis-columns h3,
.combined-web-sources h3 { margin: 0 0 10px; font-size: .88rem; }
.combined-insight-list-block ul,
.combined-analysis-columns ul,
.combined-analysis-columns ol { margin: 0; padding-left: 20px; }
.combined-insight-list-block li,
.combined-analysis-columns li { margin: 5px 0; line-height: 1.5; }
.insight-evidence-count { color: var(--ol-muted); font-size: .64rem; }
.relationship-proposal-heading { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 20px 22px 12px; }
.relationship-proposal-list { display: grid; gap: 14px; padding: 0 22px 22px; }
.relationship-proposal { padding: 18px; border: 1px solid var(--ol-border); border-left: 3px solid var(--ol-warning); border-radius: 11px; background: var(--ol-surface-muted); }
.relationship-proposal.review-approved { border-left-color: var(--ol-success); }
.relationship-proposal.review-rejected { border-left-color: var(--ol-danger); opacity: .82; }
.relationship-proposal.review-uncertain { border-left-color: var(--ol-warning); }
.relationship-proposal > header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.relationship-proposal h4 { margin: 4px 0 0; font-size: 1rem; }
.proposal-confidence { display: grid; justify-items: end; flex: 0 0 auto; }
.proposal-confidence strong { font-size: 1.1rem; }
.proposal-confidence span { color: var(--ol-muted); font-size: .62rem; }
.proposal-path { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 12px; align-items: center; margin: 16px 0; padding: 12px; border: 1px solid var(--ol-border); border-radius: 9px; }
.proposal-path div { display: grid; gap: 2px; min-width: 0; }
.proposal-path strong,
.proposal-path span { overflow-wrap: anywhere; }
.proposal-path span { color: var(--ol-muted); font-size: .68rem; }
.proposal-path svg { width: 17px; color: var(--ol-accent); }
.proposal-explanation { line-height: 1.6; }
.proposal-evidence { margin-top: 12px; border-top: 1px solid var(--ol-border); padding-top: 10px; }
.proposal-evidence summary { cursor: pointer; color: var(--ol-muted); font-size: .72rem; font-weight: 700; }
.proposal-evidence ul { display: grid; gap: 8px; margin: 10px 0 0; padding-left: 20px; }
.proposal-evidence li { overflow-wrap: anywhere; line-height: 1.45; }
.proposal-evidence-context { color: var(--ol-muted); font-size: .66rem; }
.proposal-source-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; font-size: .68rem; }
.proposal-evidence.contradictory { border-color: color-mix(in srgb, var(--ol-warning) 40%, var(--ol-border)); }
.proposal-limitations { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: rgba(213, 168, 70, .08); }
.proposal-limitations ul { margin: 5px 0 0; padding-left: 18px; }
.proposal-review-form { display: grid; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--ol-border); }
.proposal-review-form label { color: var(--ol-muted); font-size: .66rem; font-weight: 700; text-transform: uppercase; }
.proposal-review-actions { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 8px; }
.proposal-review-form small { color: var(--ol-muted); text-align: right; }
.proposal-review-result {
    display: flex;
    gap: 9px;
    align-items: center;
    margin-top: 14px;
    padding: 10px 12px;
    border: 1px solid var(--ol-border);
    border-radius: 8px;
    background: var(--ol-surface);
    color: var(--ol-muted);
    font-size: .72rem;
}
.proposal-review-result svg { width: 17px; flex: 0 0 auto; }
.proposal-review-result span { flex: 1; }
.proposal-review-result strong { color: var(--ol-text); }
.proposal-review-result.approved { border-color: rgba(32, 189, 131, .35); }
.proposal-review-result.approved svg { color: var(--ol-success); }
.proposal-review-result.rejected { border-color: rgba(220, 53, 69, .3); }
.proposal-review-result.rejected svg { color: var(--ol-danger); }
.proposal-review-result.uncertain { border-color: rgba(213, 168, 70, .35); }
.proposal-review-result.uncertain svg { color: var(--ol-warning); }
.combined-analysis-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ol-border); }
.combined-analysis-columns section { padding: 20px 22px; border-right: 1px solid var(--ol-border); }
.combined-analysis-columns section:last-child { border-right: 0; }
.combined-analysis-columns p { color: var(--ol-muted); }
.combined-web-sources { padding: 20px 22px; border-top: 1px solid var(--ol-border); }
.combined-web-sources ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.combined-web-sources li { display: grid; gap: 2px; overflow-wrap: anywhere; }
.combined-web-sources span { color: var(--ol-muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .64rem; direction: ltr; unicode-bidi: isolate; }

@media (max-width: 991px) {
    .analyst-create-grid { grid-template-columns: 1fr 1fr; }
    .case-chat-governance { grid-template-columns: 1fr; }
    .case-chat-options { grid-template-columns: 1fr 1fr; align-items: center; }
    .case-chat-shell[data-combined="true"] .case-chat-options { grid-template-columns: 1fr 1fr; }
    .case-chat-options .form-check { margin: 0; }
    .combine-case-layout { grid-template-columns: 1fr; }
    .combine-case-details { position: static; }
    .case-metric-grid { grid-template-columns: 1fr 1fr; }
    .combined-analysis-columns { grid-template-columns: 1fr; }
    .combined-analysis-columns section { border-right: 0; border-bottom: 1px solid var(--ol-border); }
    .combined-analysis-columns section:last-child { border-bottom: 0; }
}
@media (max-width: 767px) {
    .analyst-create-grid,
    .case-chat-options { grid-template-columns: 1fr; }
    .case-chat-shell[data-combined="true"] .case-chat-options { grid-template-columns: 1fr; }
    .affiliation-candidate,
    .affiliation-entity-summary,
    .organization-resolution-candidate > header,
    .registry-results-heading,
    .registry-source-card > header,
    .registry-candidate,
    .business-context-finding > header,
    .domain-context-card > header,
    .domain-context-form { align-items: stretch; flex-direction: column; }
    .domain-record-grid { grid-template-columns: 1fr; }
    .proposal-path { grid-template-columns: 1fr; }
    .proposal-path svg { transform: rotate(90deg); }
    .proposal-review-actions { justify-content: flex-start; }
    .proposal-review-form small { text-align: left; }
    .business-context-finding dl > div { grid-template-columns: 1fr; gap: .2rem; }
    .affiliation-source-links,
    .organization-resolution-actions,
    .registry-candidate-actions { justify-content: flex-start; text-align: left; }
    .organization-selection-summary { grid-template-columns: 1fr; }
    .organization-selection-review { justify-items: start; text-align: left; }
    .case-chat-message { width: 94%; }
    .case-chat-thread { max-height: none; min-height: 360px; padding: 14px; }
    .page-heading-actions { justify-content: flex-start; width: 100%; }
    .combined-case-metadata > div { grid-template-columns: 1fr; gap: 4px; }
    .case-metric-grid { grid-template-columns: 1fr; }
    .combined-ai-live { grid-template-columns: auto minmax(0, 1fr); }
    .combined-ai-live .btn { grid-column: 2; justify-self: start; }
}
