:root {
  --background: #020617;
  --surface: #0b1220;
  --surface-2: #111a2a;
  --surface-3: #172235;
  --foreground: #f8fafc;
  --muted: #94a3b8;
  --faint: #64748b;
  --border: #26344a;
  --accent: #22c55e;
  --accent-soft: rgba(34, 197, 94, 0.12);
  --info: #38bdf8;
  --warning: #f59e0b;
  --danger: #ef4444;
  --code: "Lexend", system-ui, sans-serif;
  --body: "Source Sans 3", system-ui, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--background); color: var(--foreground); font-family: var(--body); }
body { font-size: 14px; line-height: 1.5; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.app-shell { display: flex; min-height: 100vh; }
.app-shell.auth-gated { display: none !important; }
.sidebar { width: 248px; min-height: 100vh; border-right: 1px solid var(--border); background: #050b15; display: flex; flex-direction: column; padding: 24px 16px 16px; }
.brand-lockup { display: flex; align-items: center; gap: 12px; padding: 0 10px 38px; }
.brand-mark { width: 28px; height: 28px; display: flex; gap: 3px; align-items: end; }
.brand-mark span { width: 7px; background: var(--accent); border-radius: 2px 2px 0 0; }
.brand-mark span:nth-child(1) { height: 13px; opacity: .5; } .brand-mark span:nth-child(2) { height: 21px; opacity: .8; } .brand-mark span:nth-child(3) { height: 28px; }
.brand-name { font-size: 15px; font-weight: 600; letter-spacing: .02em; } .brand-caption, .mono { font-family: var(--code); font-size: 10px; color: var(--faint); letter-spacing: .08em; }
.nav-label, .panel-kicker, .eyebrow, .kpi-label, .date-stamp span { color: var(--faint); font-family: var(--code); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.nav-label { padding: 0 12px 10px; }
.nav-stack { display: grid; gap: 4px; }
.nav-item { border: 0; background: transparent; color: var(--muted); min-height: 44px; border-radius: 8px; display: flex; align-items: center; gap: 11px; padding: 0 12px; text-align: left; transition: background .2s ease, color .2s ease; }
.nav-item[hidden] { display: none !important; }
.nav-item svg, .icon-button svg, .search-box svg { width: 17px; height: 17px; fill: currentColor; flex: 0 0 auto; }
.nav-item:hover, .nav-item:focus-visible { background: var(--surface-2); color: var(--foreground); outline: none; }
.nav-item.active { background: var(--accent-soft); color: var(--accent); }
.nav-count { margin-left: auto; font: 10px var(--code); color: var(--faint); }
.sidebar-footer { margin-top: auto; display: flex; align-items: center; gap: 8px; color: var(--faint); font-size: 11px; padding: 12px; border-top: 1px solid var(--border); }
.status-dot, .pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px rgba(34,197,94,.1); }
.main-area { flex: 1; min-width: 0; }
.topbar { height: 68px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; padding: 0 36px; background: rgba(2,6,23,.82); backdrop-filter: blur(14px); position: sticky; top: 0; z-index: 5; }
.crumb { display: flex; align-items: center; gap: 10px; color: var(--faint); font-size: 13px; } .crumb strong { color: var(--foreground); font-weight: 500; } .crumb-sep { color: var(--border); }
.top-actions { display: flex; align-items: center; gap: 14px; } .icon-button { width: 40px; height: 40px; border: 1px solid transparent; border-radius: 8px; color: var(--muted); background: transparent; display: grid; place-items: center; } .icon-button:hover { border-color: var(--border); color: var(--foreground); background: var(--surface-2); }
.user-chip { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; } .avatar { width: 28px; height: 28px; display: grid; place-items: center; background: var(--surface-3); color: var(--accent); border: 1px solid var(--border); border-radius: 50%; font: 10px var(--code); } .chevron { color: var(--faint); font-size: 16px; }
.content-wrap { padding: 34px 36px 60px; max-width: 1600px; margin: 0 auto; }
.hero-row { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 28px; } .eyebrow { display: flex; align-items: center; gap: 9px; color: var(--accent); } h1, h2 { margin: 0; font-weight: 600; letter-spacing: -.02em; } h1 { font-size: clamp(26px, 3vw, 38px); margin-top: 12px; } h2 { font-size: 16px; } .hero-copy { margin: 9px 0 0; color: var(--muted); max-width: 570px; } .date-stamp { display: grid; gap: 4px; text-align: right; } .date-stamp strong { font: 12px var(--code); color: var(--foreground); }
.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.kpi-card, .panel { background: linear-gradient(145deg, rgba(17,26,42,.96), rgba(9,16,29,.96)); border: 1px solid var(--border); border-radius: 10px; }
.kpi-card { padding: 18px 18px 15px; min-height: 130px; overflow: hidden; } .kpi-card.emphasis { border-color: rgba(34,197,94,.46); background: linear-gradient(145deg, rgba(23,52,43,.92), rgba(9,16,29,.96)); } .kpi-value { font: 600 28px var(--code); letter-spacing: -.05em; margin: 8px 0 13px; } .kpi-value.money { font-size: clamp(22px, 2vw, 29px); white-space: nowrap; } .kpi-foot { display: flex; justify-content: space-between; gap: 8px; color: var(--faint); font: 10px var(--code); } .trend { letter-spacing: 0; font: 11px var(--body); } .trend.up { color: var(--accent); } .trend.neutral { color: var(--muted); } .trend.alert { color: var(--warning); }
.stat-strip { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); border: 1px solid var(--border); border-radius: 10px; background: rgba(11,18,32,.72); margin-bottom: 14px; overflow: hidden; }
.stat-strip div { min-width: 0; padding: 13px 15px; border-right: 1px solid var(--border); display: grid; gap: 2px; }
.stat-strip div:last-child { border-right: 0; } .stat-strip span { color: var(--faint); font-size: 10px; } .stat-strip strong { color: var(--foreground); font: 500 15px var(--code); } .stat-strip .issue-stat strong { color: var(--warning); }
.content-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .8fr); gap: 14px; } .panel { padding: 20px; min-width: 0; } .panel-full, .panel-wide { grid-column: 1 / 2; } .panel-wide.panel-expanded { grid-column: 1 / -1; } .panel-side { grid-column: 2 / 3; grid-row: 1; } .detail-panel { grid-column: 1 / -1; grid-row: 2; } .panel-header { display: flex; justify-content: space-between; align-items: start; gap: 20px; margin-bottom: 18px; } .panel-kicker { margin-bottom: 5px; color: var(--accent); } .is-hidden { display: none !important; }
.text-button, .filter-button { border: 0; background: transparent; color: var(--accent); font-size: 12px; padding: 8px 0; } .text-button span { margin-left: 4px; } .filter-button { min-height: 44px; color: var(--muted); border: 1px solid var(--border); border-radius: 7px; padding: 7px 13px; } .text-button:hover, .filter-button:hover { color: var(--foreground); }
.toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; } .search-box { display: flex; align-items: center; gap: 8px; background: var(--background); border: 1px solid var(--border); border-radius: 7px; padding: 0 11px; min-height: 44px; flex: 1 1 280px; max-width: 420px; color: var(--faint); } .search-box input { width: 100%; background: transparent; border: 0; color: var(--foreground); outline: 0; font-size: 12px; } .search-box:focus-within, .filter-field:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(34,197,94,.08); }
.filter-field { min-height: 44px; display: flex; align-items: center; gap: 9px; padding: 0 10px; border: 1px solid var(--border); border-radius: 7px; background: var(--background); color: var(--faint); font-size: 11px; white-space: nowrap; }
.filter-field[hidden] { display: none !important; }
.filter-field select { min-width: 150px; border: 0; outline: 0; background: var(--background); color: var(--foreground); cursor: pointer; }
.date-range-filter { display: flex; flex-wrap: wrap; gap: 6px; min-height: 44px; align-items: center; }
.date-range-filter[hidden] { display: none !important; }
.date-range-filter label { display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 9px; border: 1px solid var(--border); border-radius: 7px; background: var(--background); color: var(--faint); font-size: 11px; }
.date-range-filter input { min-height: 30px; border: 0; outline: 0; background: transparent; color: var(--foreground); font-size: 12px; }
.table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; min-width: 920px; } th { text-align: left; color: var(--faint); font: 10px var(--code); letter-spacing: .08em; text-transform: uppercase; padding: 10px 9px; border-bottom: 1px solid var(--border); } td { padding: 13px 9px; border-bottom: 1px solid rgba(38,52,74,.65); color: var(--muted); font-size: 12px; vertical-align: middle; max-width: 270px; overflow-wrap: anywhere; } tr.data-row { transition: background .18s ease; } tr.data-row:hover { background: rgba(34,197,94,.05); } td:first-child { color: var(--foreground); font-size: 11px; } .route { color: var(--faint); } .route strong { color: var(--muted); font-weight: 400; } .cell-primary { display: block; color: var(--foreground); font-weight: 500; } .cell-sub { display: block; margin-top: 3px; color: var(--faint); font-size: 10px; } .mono-value { font-family: var(--code); font-size: 10px; } .amount-cell { display: block; color: var(--foreground); margin-top: 3px; font: 500 12px var(--code); } .fund-type { color: var(--accent); } .status { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; } .status.success { color: var(--accent); } .status.info, .status.active { color: var(--info); } .status.pending, .status.warning { color: var(--warning); } .status.danger { color: var(--danger); } .status.muted { color: var(--faint); } .status-dot-small { width: 6px; height: 6px; border-radius: 50%; background: currentColor; } .row-action { width: 44px; height: 44px; border: 1px solid var(--border); border-radius: 8px; background: transparent; color: var(--muted); font-size: 17px; } .row-action:hover, .row-action:focus-visible { color: var(--accent); border-color: var(--accent); outline: none; box-shadow: 0 0 0 3px rgba(34,197,94,.08); } .loading-row { text-align: center; color: var(--faint); padding: 36px 0; }
.table-footer { display: flex; justify-content: space-between; align-items: center; color: var(--faint); font: 10px var(--code); padding-top: 14px; } .pager { display: flex; align-items: center; gap: 10px; } .pager button { width: 28px; height: 28px; border: 1px solid var(--border); border-radius: 6px; background: transparent; color: var(--muted); } .pager button:hover { border-color: var(--accent); color: var(--accent); }
.detail-link { min-height: 32px; border: 1px solid rgba(34,197,94,.35); border-radius: 6px; padding: 5px 8px; color: var(--accent); background: var(--accent-soft); font: 11px var(--body); white-space: nowrap; } .detail-link:hover, .detail-link:focus-visible { border-color: var(--accent); color: var(--foreground); outline: none; box-shadow: 0 0 0 3px rgba(34,197,94,.12); }
.live-tag { border: 1px solid rgba(34,197,94,.35); color: var(--accent); background: var(--accent-soft); border-radius: 99px; padding: 4px 8px; font: 10px var(--code); } .bar-chart { display: grid; gap: 13px; min-height: 220px; align-content: start; } .bar-row { display: grid; grid-template-columns: 100px 1fr 45px; gap: 10px; align-items: center; font-size: 11px; color: var(--muted); } .bar-label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .bar-track { height: 7px; background: var(--surface-3); border-radius: 999px; overflow: hidden; } .bar-fill { height: 100%; background: linear-gradient(90deg, var(--accent), #7c3aed); border-radius: inherit; transform-origin: left; animation: grow .5s ease both; } .bar-value { font: 10px var(--code); color: var(--faint); text-align: right; } .chart-note { color: var(--faint); border-top: 1px solid var(--border); padding-top: 15px; font-size: 11px; }
.detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-bottom: 20px; } .detail-card { background: var(--background); border: 1px solid var(--border); border-radius: 8px; padding: 12px; } .detail-card span { display: block; color: var(--faint); font-size: 10px; margin-bottom: 4px; } .detail-card strong { font-size: 12px; font-weight: 500; color: var(--foreground); } .detail-section { border-top: 1px solid var(--border); padding-top: 16px; margin-top: 16px; } .detail-section h3 { font-size: 12px; margin: 0 0 10px; color: var(--muted); }
.drawer-open { overflow: hidden; }
.drawer-backdrop { position: fixed; inset: 0; z-index: 30; background: rgba(0,0,0,.68); backdrop-filter: blur(4px); }
.detail-drawer { position: absolute; inset: 0 0 0 auto; width: min(860px, 92vw); background: var(--surface); border-left: 1px solid var(--border); box-shadow: -24px 0 80px rgba(0,0,0,.42); display: flex; flex-direction: column; animation: drawer-in .22s ease both; }
.drawer-header { min-height: 78px; padding: 18px 24px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.drawer-close { width: 44px; height: 44px; border-radius: 8px; border: 1px solid var(--border); background: transparent; color: var(--muted); font-size: 24px; line-height: 1; }
.drawer-close:hover, .drawer-close:focus-visible { color: var(--foreground); border-color: var(--accent); outline: none; }
.drawer-body { padding: 22px 24px 60px; overflow-y: auto; }
.drawer-loading, .empty-state { color: var(--faint); text-align: center; padding: 28px; border: 1px dashed var(--border); border-radius: 8px; }
.error-state { color: var(--danger); }
.fact-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.fact { min-width: 0; border: 1px solid var(--border); background: var(--background); border-radius: 8px; padding: 11px 12px; }
.fact span { display: block; color: var(--faint); font-size: 10px; margin-bottom: 4px; }
.fact strong { display: block; color: var(--foreground); font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.fact.is-success { border-color: rgba(34,197,94,.38); background: rgba(34,197,94,.06); }
.fact.is-success strong { color: #86efac; }
.fact.is-warning { border-color: rgba(245,158,11,.42); background: rgba(245,158,11,.07); }
.fact.is-warning strong { color: #fcd34d; }
.fact.is-danger { border-color: rgba(239,68,68,.46); background: rgba(239,68,68,.08); }
.fact.is-danger strong { color: #fca5a5; }
.drawer-section { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--border); }
.section-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.section-heading h3 { margin: 0; font-size: 13px; font-weight: 600; } .section-heading span { color: var(--faint); font: 10px var(--code); }
.detail-table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: 8px; }
.detail-table { min-width: 640px; } .detail-table th { background: var(--background); } .detail-table td { padding: 10px; }
.detail-table tr.is-anomaly td { background: rgba(239,68,68,.035); }
.detail-table td.is-success { color: #86efac; background: rgba(34,197,94,.05); }
.detail-table td.is-warning { color: #fcd34d; background: rgba(245,158,11,.06); }
.detail-table td.is-danger { color: #fca5a5; background: rgba(239,68,68,.09); font-weight: 600; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; } .tag-list span { border: 1px solid var(--border); border-radius: 999px; padding: 7px 10px; color: var(--muted); background: var(--background); font: 11px var(--code); }
.mini-tag-list { display: flex; flex-wrap: wrap; gap: 4px; }
.mini-tag-list span { display: inline-flex; align-items: center; min-height: 24px; border: 1px solid var(--border); border-radius: 999px; background: var(--background); color: var(--muted); padding: 3px 7px; font: 9px var(--code); white-space: nowrap; }
.mini-tag-list .more-tag { color: var(--accent); border-color: rgba(34,197,94,.35); background: var(--accent-soft); }
.muted-value { color: var(--faint); }
.analytics-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.analytics-card { min-width: 0; border: 1px solid var(--border); border-radius: 8px; background: var(--background); padding: 13px; }
.analytics-card span, .analytics-card small { display: block; color: var(--faint); font-size: 10px; }
.analytics-card strong { display: block; margin: 5px 0 3px; color: var(--foreground); font: 600 20px var(--code); }
.role-badge { display: inline-flex; align-items: center; border: 1px solid rgba(34,197,94,.32); border-radius: 999px; background: var(--accent-soft); color: var(--accent); padding: 3px 8px; white-space: nowrap; }
.metric-list { display: grid; gap: 10px; }
.metric-row { border: 1px solid var(--border); border-radius: 8px; background: var(--background); padding: 11px 12px; }
.metric-head, .metric-meta { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.metric-head strong { color: var(--foreground); font-size: 12px; } .metric-head span { color: var(--foreground); font: 500 12px var(--code); }
.metric-track { height: 6px; background: var(--surface-3); border-radius: 999px; overflow: hidden; margin: 8px 0; }
.metric-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), #38bdf8); }
.metric-meta { justify-content: flex-start; flex-wrap: wrap; color: var(--faint); font-size: 10px; }
.metric-meta span + span { padding-left: 12px; border-left: 1px solid var(--border); }
.weight-line { display: block; white-space: nowrap; color: var(--muted); font-size: 10px; }
.trajectory-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.trajectory-grid figure { margin: 0; border: 1px solid var(--border); border-radius: 8px; background: var(--background); overflow: hidden; }
.trajectory-grid img { display: block; width: 100%; height: 230px; object-fit: contain; background: #fff; } .trajectory-grid figcaption { padding: 8px 10px; color: var(--faint); font-size: 10px; overflow-wrap: anywhere; }
.journey-trajectory-grid figure > button { position: relative; display: block; width: 100%; min-height: 230px; padding: 0; border: 0; background: #fff; cursor: zoom-in; }
.journey-trajectory-grid figcaption strong { color: var(--foreground); }
.trajectory-image-loading { position: absolute; inset: 0; display: grid; place-items: center; color: #64748b; background: #f8fafc; font-size: 12px; }
.trajectory-image-zoom { position: absolute; right: 10px; bottom: 10px; padding: 5px 9px; border-radius: 999px; color: #fff; background: rgba(2,6,23,.75); font-size: 10px; opacity: 0; transition: opacity .15s ease; pointer-events: none; }
[data-protected-image-link]:hover .trajectory-image-zoom,[data-protected-image-link]:focus-visible .trajectory-image-zoom { opacity: 1; }
.trajectory-lightbox { position: fixed; inset: 0; z-index: 2000; display: grid; grid-template-rows: auto minmax(0,1fr); background: rgba(2,6,23,.96); backdrop-filter: blur(8px); }
.trajectory-lightbox[hidden] { display: none; }
.trajectory-lightbox header { display: flex; align-items: center; gap: 16px; min-height: 64px; padding: 10px 20px; border-bottom: 1px solid rgba(148,163,184,.2); color: #f8fafc; }
.trajectory-lightbox header strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trajectory-lightbox header span { margin-left: auto; color: #94a3b8; font-size: 11px; }
.trajectory-lightbox header button { width: 38px; height: 38px; border: 1px solid rgba(148,163,184,.25); border-radius: 50%; background: rgba(15,23,42,.8); color: #fff; font-size: 24px; cursor: pointer; }
.trajectory-lightbox-stage { min-height: 0; overflow: auto; display: grid; place-items: center; padding: 20px; }
.trajectory-lightbox-stage img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; cursor: zoom-in; box-shadow: 0 20px 70px rgba(0,0,0,.45); }
.trajectory-lightbox-stage img.is-original-size { max-width: none; max-height: none; cursor: zoom-out; }
body.lightbox-open { overflow: hidden; }
.trajectory-gallery-workspace { margin-top: 18px; padding: 18px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.trajectory-gallery-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.trajectory-gallery-head > div:first-child > span { color: var(--accent); font: 10px var(--code); letter-spacing: .12em; }
.trajectory-gallery-head h2 { margin: 4px 0; font-size: 22px; }
.trajectory-gallery-head p { margin: 0; color: var(--faint); font-size: 12px; }
.trajectory-gallery-filters { display: flex; gap: 8px; }
.trajectory-gallery-filters input,.trajectory-gallery-filters select { min-height: 42px; padding: 0 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--background); color: var(--foreground); }
.trajectory-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.trajectory-gallery-grid figure { margin: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 10px; background: var(--background); }
.trajectory-gallery-grid figure > button { position: relative; display: block; width: 100%; height: 260px; padding: 0; border: 0; background: #fff; cursor: zoom-in; }
.trajectory-gallery-grid img { width: 100%; height: 100%; object-fit: contain; display: block; }
.trajectory-gallery-grid figcaption { padding: 10px 12px; }
.trajectory-gallery-grid figcaption div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.trajectory-gallery-grid figcaption p { margin: 7px 0 3px; color: var(--muted); font-size: 12px; }
.trajectory-gallery-grid figcaption small { color: var(--faint); font-size: 11px; }
.trajectory-gallery-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; color: var(--faint); font-size: 12px; }
@media (max-width: 1100px) { .trajectory-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 720px) { .trajectory-gallery-head { align-items: stretch; flex-direction: column; } .trajectory-gallery-filters { flex-direction: column; } .trajectory-gallery-grid { grid-template-columns: 1fr; } .trajectory-lightbox header span { display: none; } .trajectory-lightbox-stage { padding: 8px; } }
.fund-hero { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px 16px; border: 1px solid rgba(34,197,94,.35); background: var(--accent-soft); border-radius: 10px; padding: 16px; margin-bottom: 12px; }
.fund-hero span { color: var(--accent); } .fund-hero strong { color: var(--foreground); font: 600 24px var(--code); } .fund-hero small { color: var(--faint); margin-left: auto; }
@keyframes drawer-in { from { transform: translateX(24px); opacity: .6; } to { transform: translateX(0); opacity: 1; } }
@keyframes grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (max-width: 1100px) { .sidebar { width: 214px; } .content-wrap, .topbar { padding-left: 24px; padding-right: 24px; } .content-grid { grid-template-columns: 1fr; } .panel-side, .panel-wide { grid-column: 1; grid-row: auto; } .kpi-grid { grid-template-columns: repeat(2, 1fr); } .stat-strip { grid-template-columns: repeat(4, minmax(0,1fr)); } .stat-strip div:nth-child(4) { border-right: 0; } .stat-strip div:nth-child(-n+4) { border-bottom: 1px solid var(--border); } }
@media (max-width: 720px) { .app-shell { display: block; } .sidebar { width: 100%; min-height: auto; padding: 12px; border-right: 0; border-bottom: 1px solid var(--border); } .brand-lockup { padding: 4px 6px 14px; } .nav-label, .sidebar-footer { display: none; } .nav-stack { display: flex; overflow-x: auto; gap: 6px; } .nav-item { min-width: max-content; padding: 0 11px; } .nav-count { display: none; } .topbar { height: 58px; padding: 0 16px; } .user-chip span:not(.avatar) { display: none; } .content-wrap { padding: 24px 16px 40px; } .hero-row { display: block; } .date-stamp { text-align: left; margin-top: 20px; } .kpi-grid { gap: 8px; } .kpi-card { padding: 13px; min-height: 112px; } .kpi-value { font-size: 20px; } .stat-strip { grid-template-columns: repeat(2, minmax(0,1fr)); } .stat-strip div, .stat-strip div:nth-child(4) { border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); } .stat-strip div:nth-child(even) { border-right: 0; } .fact-grid, .analytics-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .detail-drawer { width: 100vw; } .drawer-header, .drawer-body { padding-left: 16px; padding-right: 16px; } .trajectory-grid { grid-template-columns: 1fr; } .fund-hero small { width: 100%; margin-left: 0; } .metric-meta span { width: 100%; } .metric-meta span + span { padding: 2px 0 0; border-left: 0; } }
.nav-stack { scrollbar-width: none; }
.nav-stack::-webkit-scrollbar { display: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
.industry-json-grid { display: grid; gap: 12px; }
.status-badge-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; font-size: 11px; }
.monthly-order-chart { position: relative; min-height: 230px; overflow-x: auto; padding: 8px 0 0; }
.monthly-order-chart svg { display: block; min-width: 620px; overflow: visible; }
.order-chart-grid { stroke: var(--border); stroke-width: 1; stroke-dasharray: 3 5; }
.order-chart-line { fill: none; stroke: var(--accent); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.order-chart-point { fill: var(--surface-1); stroke: var(--accent); stroke-width: 2; cursor: pointer; }
.order-chart-point:hover { r: 6; }
.order-chart-point:focus { outline: none; stroke: var(--foreground); stroke-width: 3; }
.order-chart-tooltip { position: absolute; top: 8px; z-index: 2; pointer-events: none; padding: 7px 9px; border: 1px solid rgba(56,189,248,.45); border-radius: 6px; background: var(--surface-1); color: var(--foreground); box-shadow: 0 8px 18px rgba(0,0,0,.24); font: 11px var(--code); white-space: nowrap; }
.order-chart-y-label, .order-chart-x-label, .order-chart-axis-title { fill: var(--faint); font: 10px var(--code); }
.order-chart-axis-title { fill: var(--muted); font-weight: 600; }
.anomaly-text { color: var(--danger); font-weight: 600; }
.case-workspace { display: grid; gap: 12px; }
.case-workspace[hidden] { display: none; }
.case-command-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px; border: 1px solid rgba(56,189,248,.35); border-radius: 10px; background: linear-gradient(115deg,rgba(14,165,233,.10),var(--surface) 48%); }
.case-command-bar h2,.case-panel-head h3 { margin: 3px 0; color: var(--foreground); }
.case-command-bar h2 { font-size: 20px; }
.case-command-bar p { max-width: 760px; margin: 0; color: var(--muted); font-size: 11px; }
.case-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.case-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; color: var(--foreground); text-decoration: none; }
.case-conclusion { min-height: 48px; display: grid; grid-template-columns: max-content 1fr; align-items: center; gap: 14px; padding: 10px 14px; border: 1px solid rgba(245,158,11,.38); border-radius: 9px; background: rgba(245,158,11,.08); }
.case-conclusion strong { color: var(--warning); font-size: 12px; }
.case-conclusion span { color: var(--muted); font-size: 11px; line-height: 1.55; }
.case-kpis { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; }
.case-kpis article { min-height: 104px; display: grid; align-content: center; gap: 5px; padding: 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); }
.case-kpis article.emphasis { border-color: rgba(56,189,248,.42); background: rgba(14,165,233,.07); }
.case-kpis article.danger { border-color: rgba(239,68,68,.4); background: rgba(127,29,29,.10); }
.case-kpis article.warning { border-color: rgba(245,158,11,.38); }
.case-kpis span,.case-kpis small { color: var(--faint); font-size: 10px; }
.case-kpis strong { color: var(--foreground); font: 600 18px var(--code); }
.case-stage-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; }
.case-stage-grid article { min-height: 76px; display: grid; grid-template-columns: 28px 1fr; grid-template-rows: auto auto; gap: 3px 8px; align-content: center; padding: 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.case-stage-grid i { grid-row: 1/3; align-self: center; color: var(--faint); font: normal 600 13px var(--code); }
.case-stage-grid strong { color: var(--foreground); font-size: 11px; }
.case-stage-grid span { color: var(--faint); font-size: 9px; }
.case-stage-grid .done { border-color: rgba(34,197,94,.32); }
.case-stage-grid .done i { color: var(--accent); }
.case-stage-grid .pending { border-color: rgba(245,158,11,.28); }
.case-reconciliation-panel { border: 1px solid rgba(56,189,248,.28); border-radius: 10px; background: linear-gradient(135deg,rgba(14,165,233,.07),rgba(15,23,42,.48)); padding: 14px; }
.case-reconciliation-equation { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.case-reconciliation-equation article { position: relative; display: grid; gap: 4px; min-height: 82px; align-content: center; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--background); }
.case-reconciliation-equation article:not(:last-child)::after { content: attr(data-operator); position: absolute; right: -8px; top: 30px; z-index: 1; color: var(--warning); font: 600 12px var(--code); }
.case-reconciliation-equation span,.case-reconciliation-equation small { color: var(--faint); font-size: 10px; }
.case-reconciliation-equation strong { color: var(--foreground); font: 600 15px var(--code); }
.case-reconciliation-equation .is-gap { border-color: rgba(245,158,11,.4); }
.case-reconciliation-equation .is-balanced { border-color: rgba(34,197,94,.38); }
.case-reconciliation-orders { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.case-reconciliation-orders span { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 8px; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); font-size: 10px; }
.case-reconciliation-orders span.is-balanced { border-color: rgba(34,197,94,.35); color: var(--accent); }
.case-reconciliation-orders span.is-estimated { border-color: rgba(245,158,11,.38); color: var(--warning); }
.case-reconciliation-orders span.is-mismatch { border-color: rgba(239,68,68,.4); color: var(--danger); }
.case-subject-chain-panel { padding: 14px; border: 1px solid rgba(56,189,248,.32); border-radius: 10px; background: var(--surface); }
.case-subject-chain-panel .case-panel-head { align-items: flex-start; }
.case-subject-chain-panel .case-panel-head p { max-width: 820px; margin: 4px 0 0; color: var(--faint); font-size: 11px; line-height: 1.55; }
.case-chain-legend { display: flex; flex-wrap: wrap; gap: 14px; margin: 2px 0 12px; color: var(--faint); font-size: 10px; }
.case-chain-legend span { display: inline-flex; align-items: center; gap: 6px; }
.case-chain-legend i { width: 18px; height: 2px; background: var(--info); }
.case-chain-legend i.money { background: var(--warning); }
.case-chain-legend i.service { background: #a78bfa; }
.case-subject-chain { display: grid; grid-template-columns: minmax(190px,1fr) minmax(105px,.45fr) minmax(210px,1.1fr) minmax(105px,.45fr) minmax(190px,1fr); gap: 8px; align-items: stretch; }
.case-chain-stage { min-width: 0; border: 1px solid var(--border); border-radius: 9px; background: var(--background); overflow: hidden; }
.case-chain-stage > header { display: grid; gap: 2px; padding: 9px 10px; border-bottom: 1px solid var(--border); }
.case-chain-stage > header span { color: var(--foreground); font: 600 11px var(--code); }
.case-chain-stage > header small { color: var(--faint); font-size: 9px; }
.case-chain-stage.upstream > header { border-top: 2px solid #14b8a6; }
.case-chain-stage.hub > header { border-top: 2px solid var(--warning); }
.case-chain-stage.downstream > header { border-top: 2px solid var(--info); }
.case-chain-stage > div { display: grid; gap: 7px; padding: 8px; }
.case-subject-card { width: 100%; min-height: 150px; display: grid; align-content: start; gap: 5px; padding: 11px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-1); color: var(--muted); text-align: left; font: inherit; transition: border-color .18s ease,background .18s ease; }
button.case-subject-card { cursor: pointer; }
button.case-subject-card:hover,button.case-subject-card:focus-visible { border-color: var(--info); background: rgba(56,189,248,.06); outline: none; box-shadow: 0 0 0 3px rgba(56,189,248,.08); }
.case-subject-card .case-subject-role { width: max-content; padding: 2px 6px; border: 1px solid currentColor; border-radius: 999px; color: var(--info); font: 9px var(--code); }
.case-subject-card.upstream .case-subject-role { color: #2dd4bf; }
.case-subject-card.hub .case-subject-role { color: var(--warning); }
.case-subject-card.service .case-subject-role { color: #c4b5fd; }
.case-subject-card strong { color: var(--foreground); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.case-subject-card > span:not(.case-subject-role),.case-subject-card small { color: var(--faint); font-size: 9px; line-height: 1.45; }
.case-subject-card b { color: var(--muted); font: 500 10px var(--code); }
.case-subject-card i { align-self: end; margin-top: 3px; color: var(--info); font: normal 9px var(--code); }
.case-subject-alias { padding-top: 5px; border-top: 1px dashed var(--border); }
.case-chain-connector { min-width: 0; display: grid; place-content: center; justify-items: center; gap: 4px; padding: 10px 5px; color: var(--faint); text-align: center; }
.case-chain-connector::before { content: ""; width: 100%; height: 1px; margin-bottom: 2px; background: var(--info); }
.case-chain-connector span,.case-chain-connector i { color: var(--info); font: normal 9px var(--code); }
.case-chain-connector strong { color: var(--foreground); font: 600 12px var(--code); }
.case-chain-connector small { font-size: 9px; line-height: 1.4; }
.case-chain-connector i { color: var(--warning); }
.case-chain-connector.empty::before { background: var(--border); }
.case-service-subjects { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border); }
.case-service-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.case-service-head strong { color: var(--foreground); font-size: 11px; }
.case-service-head span { color: var(--faint); font: 9px var(--code); }
.case-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.case-service-grid .case-subject-card { min-height: 126px; border-color: rgba(167,139,250,.3); }
.case-chain-note { display: grid; grid-template-columns: max-content 1fr; gap: 8px 12px; margin-top: 10px; padding: 9px 10px; border-radius: 7px; background: rgba(15,23,42,.72); }
.case-chain-note strong { color: var(--foreground); font-size: 10px; }
.case-chain-note span { color: var(--faint); font-size: 10px; line-height: 1.5; }
.case-chain-note .case-chain-warning { grid-column: 2; color: var(--warning); }
.case-priority-panel,.case-ledger-panel,.case-missing-panel { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 14px; }
.case-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.case-panel-head h3 { font-size: 14px; }
.case-panel-head > span { color: var(--faint); font: 10px var(--code); }
.case-panel-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 7px; }
.case-panel-actions > span { margin-right: 3px; color: var(--faint); font: 10px var(--code); }
.case-panel-actions .filter-button { min-height: 36px; padding: 6px 10px; text-decoration: none; }
.case-priority-list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.case-priority-item { min-height: 96px; display: grid; grid-template-columns: 24px 1fr; gap: 8px; padding: 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--background); color: var(--muted); text-align: left; cursor: pointer; }
.case-priority-item:hover,.case-priority-item:focus-visible { border-color: var(--warning); background: rgba(245,158,11,.06); outline: none; }
.case-priority-item > i { color: var(--warning); font: normal 600 11px var(--code); }
.case-priority-item > span { min-width: 0; display: grid; align-content: start; gap: 3px; }
.case-priority-item > span:last-child { grid-column: 2; border-top: 1px solid var(--border); padding-top: 6px; }
.case-priority-item strong,.case-priority-item b { color: var(--foreground); font-size: 10px; overflow-wrap: anywhere; }
.case-priority-item small { color: var(--faint); font-size: 9px; line-height: 1.45; }
.case-missing-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; }
.case-missing-grid article { min-width: 0; display: grid; gap: 5px; align-content: start; padding: 10px 11px; border: 1px solid rgba(239,68,68,.28); border-radius: 8px; background: rgba(127,29,29,.08); }
.case-missing-grid strong { color: #fca5a5; font: 600 11px/1.45 var(--sans); }
.case-missing-grid span { color: var(--foreground); font-size: 10px; }
.case-missing-grid small { color: var(--faint); font-size: 9px; }
.case-missing-grid .case-missing-label { color: var(--danger); font: 600 10px var(--code); letter-spacing: .04em; }
.case-missing-item { position: relative; cursor: pointer; outline: none; transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.case-missing-item > i { color: #7dd3fc; font: normal 9px var(--code); }
.case-missing-item:hover,.case-missing-item:focus-visible,.case-missing-item:focus-within { z-index: 30; border-color: rgba(248,113,113,.72); background: rgba(127,29,29,.16); transform: translateY(-1px); }
.case-missing-item:focus-visible { box-shadow: 0 0 0 2px rgba(56,189,248,.75); }
.case-missing-tooltip { position: absolute; left: 0; top: calc(100% + 8px); z-index: 80; width: min(430px,calc(100vw - 56px)); max-height: 380px; overflow: auto; display: grid; gap: 10px; padding: 13px; border: 1px solid rgba(56,189,248,.42); border-radius: 10px; background: rgba(5,13,28,.98); box-shadow: 0 18px 45px rgba(0,0,0,.48); color: var(--foreground); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-4px); transition: opacity .18s ease,visibility .18s ease,transform .18s ease; }
.case-missing-item:hover .case-missing-tooltip,.case-missing-item:focus-visible .case-missing-tooltip,.case-missing-item:focus-within .case-missing-tooltip { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.case-missing-item:nth-child(6n+5) .case-missing-tooltip,.case-missing-item:nth-child(6n+6) .case-missing-tooltip { left: auto; right: 0; }
.case-missing-tooltip > div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.case-missing-tooltip > div b { color: #fca5a5; font-size: 13px; }
.case-missing-tooltip > div span { color: var(--muted); font: 10px var(--code); }
.case-missing-tooltip section { display: grid; gap: 4px; }
.case-missing-tooltip section > strong { grid-row: auto; color: #7dd3fc; font: 600 10px var(--code); letter-spacing: .08em; }
.case-missing-tooltip p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.case-missing-tooltip ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.case-missing-tooltip li { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 2px 7px; padding: 6px 7px; border-radius: 6px; background: rgba(15,23,42,.78); }
.case-missing-tooltip li b { color: #fca5a5; font: 600 10px var(--code); }
.case-missing-tooltip li span { min-width: 0; overflow-wrap: anywhere; color: var(--foreground); font: 10px var(--code); }
.case-missing-tooltip li small { grid-column: 2; color: var(--faint); font-size: 9px; }
.case-ledger-table { min-width: 1320px; }
.case-ledger-table td { padding-top: 11px; padding-bottom: 11px; }
.case-ledger-table th:nth-child(1) { width: 210px; }
.case-ledger-table th:nth-child(2) { width: 235px; }
.case-ledger-table th:nth-child(3),.case-ledger-table th:nth-child(4) { width: 205px; }
.case-ledger-table th:nth-child(5) { width: 170px; }
.case-ledger-table th:nth-child(6) { width: 245px; }
.case-ledger-table th:nth-child(7) { width: 60px; }
.case-ledger-table td > .status { margin: 6px 0 2px; }
.case-relation-list,.case-gap-list { display: flex; flex-wrap: wrap; gap: 4px; }
.case-relation-chip,.case-gap-list span { display: inline-flex; align-items: center; min-height: 23px; padding: 3px 6px; border: 1px solid var(--border); border-radius: 999px; font: 9px/1.35 var(--code); }
.case-relation-chip.linked { border-color: rgba(34,197,94,.32); background: rgba(34,197,94,.07); color: var(--accent); }
.case-relation-chip.missing,.case-gap-list span { border-color: rgba(239,68,68,.34); background: rgba(239,68,68,.07); color: #fca5a5; }
.case-supplement { display: block; margin: 7px 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
@media (max-width: 1380px) { .case-subject-chain { grid-template-columns: 1fr; } .case-chain-connector { min-height: 74px; } .case-chain-connector::before { width: 70%; } }
@media (max-width: 1200px) { .case-kpis,.case-stage-grid,.case-reconciliation-equation { grid-template-columns: repeat(3,minmax(0,1fr)); } .case-priority-list { grid-template-columns: repeat(2,minmax(0,1fr)); } .case-missing-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .case-missing-item:nth-child(3n) .case-missing-tooltip { left: auto; right: 0; } }
@media (max-width: 720px) { .case-conclusion { grid-template-columns: 1fr; gap: 4px; } .case-kpis,.case-stage-grid,.case-priority-list,.case-missing-grid,.case-service-grid,.case-reconciliation-equation { grid-template-columns: 1fr; } .case-reconciliation-equation article::after { display: none; } .case-subject-chain-panel .case-panel-head,.case-service-head,.case-ledger-panel .case-panel-head { align-items: flex-start; flex-direction: column; } .case-panel-actions { width: 100%; justify-content: flex-start; } .case-chain-note { grid-template-columns: 1fr; } .case-chain-note .case-chain-warning { grid-column: 1; } }
.closure-graph-list { display: grid; gap: 12px; overflow-x: auto; }
.closure-chain { min-width: 900px; display: flex; align-items: center; gap: 6px; padding: 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--background); }
.closure-node { min-width: 92px; display: grid; gap: 3px; padding: 9px 8px; border: 1px solid currentColor; border-radius: 8px; text-align: center; }
.closure-node strong { font-size: 11px; color: var(--foreground); }
.closure-node small { font: 9px var(--code); }
.closure-node.is-complete { color: var(--accent); background: var(--accent-soft); }
.closure-node.is-missing { color: var(--danger); background: rgba(239,68,68,.08); }
.closure-arrow { color: var(--faint); font: 14px var(--code); }
.attachment-list { display: grid; gap: 8px; }
.attachment-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--background); color: var(--info); text-decoration: none; }
.attachment-link:hover { border-color: var(--info); background: var(--surface-2); }
.attachment-link span { overflow-wrap: anywhere; }
.attachment-link small { color: var(--faint); white-space: nowrap; font: 10px var(--code); }
.attachment-link.is-missing { color: var(--muted); }
.edit-panel { margin-bottom: 14px; padding: 14px; border: 1px solid rgba(56,189,248,.35); border-radius: 10px; background: rgba(56,189,248,.06); }
.edit-panel-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: var(--info); }
.edit-panel-head small { color: var(--faint); font-size: 10px; }
.edit-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-bottom: 10px; }
.edit-field-grid label { display: grid; gap: 4px; color: var(--faint); font-size: 11px; }
.edit-field-grid input,.edit-field-grid select { min-height: 34px; width: 100%; padding: 6px 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--background); color: var(--foreground); }
.edit-result { margin-left: 10px; color: var(--accent); font-size: 11px; }
.investigation-workspace { display: grid; gap: 12px; }
.investigation-workspace[hidden] { display: none; }
.audit-run-strip { min-height: 44px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 9px 12px; border: 1px solid rgba(56,189,248,.28); border-radius: 9px; background: rgba(14,165,233,.06); color: var(--muted); font: 10px var(--code); }
.audit-run-strip strong { color: var(--foreground); }
.contract-chain-entry { display: grid; grid-template-columns: minmax(300px,1fr) minmax(320px,.8fr); gap: 12px 20px; align-items: center; padding: 15px; border: 1px solid rgba(245,158,11,.32); border-radius: 10px; background: linear-gradient(110deg,rgba(245,158,11,.08),var(--surface) 45%); }
.contract-chain-entry h2 { margin: 3px 0; color: var(--foreground); font-size: 18px; }
.contract-chain-entry p { margin: 0; color: var(--muted); font-size: 11px; }
.contract-chain-search { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.contract-chain-search input,.audit-bulk-bar input,.audit-bulk-bar select,.audit-bulk-bar button { min-height: 38px; padding: 0 10px; border: 1px solid var(--border); border-radius: 7px; background: var(--background); color: var(--foreground); }
.contract-chain-result { grid-column: 1/-1; display: grid; gap: 10px; padding-top: 12px; border-top: 1px solid var(--border); }
.contract-chain-result[hidden] { display: none; }
.chain-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.chain-column { min-width: 0; padding: 10px; border: 1px solid var(--border); border-radius: 8px; background: rgba(3,7,18,.3); }
.chain-column > strong { display: block; margin-bottom: 8px; color: var(--faint); font: 10px var(--code); }
.chain-contract { display: grid; gap: 3px; margin: 6px 0; padding: 8px; border-left: 3px solid var(--info); background: rgba(148,163,184,.06); }
.chain-contract.current { border-left-color: var(--warning); }
.chain-contract b { color: var(--foreground); font-size: 11px; }
.chain-contract span,.chain-contract small { color: var(--muted); font-size: 9px; overflow-wrap: anywhere; }
.investigation-kpis { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.investigation-kpis article { min-height: 92px; display: grid; align-content: center; gap: 5px; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.investigation-kpis span { color: var(--faint); font: 10px var(--code); }
.investigation-kpis strong { color: var(--foreground); font: 22px var(--code); }
.investigation-kpis small { color: var(--muted); font-size: 10px; }
.investigation-kpis article.danger { border-color: rgba(239,68,68,.4); background: rgba(127,29,29,.11); }
.investigation-kpis article.warning { border-color: rgba(245,158,11,.38); }
.investigation-category-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.investigation-category { min-height: 66px; display: grid; gap: 3px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--muted); text-align: left; transition: border-color .18s ease,background .18s ease; }
.investigation-category:hover,.investigation-category:focus-visible,.investigation-category.active { border-color: var(--warning); background: rgba(245,158,11,.08); outline: none; }
.investigation-category strong { color: var(--foreground); font-size: 12px; }
.investigation-category span { color: var(--faint); font: 9px var(--code); }
.investigation-toolbar { display: grid; grid-template-columns: minmax(260px,1fr) repeat(4,minmax(130px,.55fr)) auto; gap: 9px; align-items: end; padding: 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); }
.investigation-toolbar label { display: grid; gap: 5px; color: var(--faint); font: 10px var(--code); }
.investigation-toolbar input,.investigation-toolbar select { min-height: 42px; width: 100%; padding: 0 10px; border: 1px solid var(--border); border-radius: 7px; background: var(--background); color: var(--foreground); outline: none; }
.investigation-toolbar input:focus,.investigation-toolbar select:focus { border-color: var(--warning); box-shadow: 0 0 0 3px rgba(245,158,11,.08); }
.audit-bulk-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 8px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--muted); font-size: 10px; }
.audit-bulk-bar input { min-width: 240px; margin-left: auto; }
.audit-bulk-bar button { cursor: pointer; }
.investigation-case-select { width: 16px; height: 16px; align-self: start; accent-color: var(--warning); }
.investigation-case-badges { display: flex; flex-wrap: wrap; gap: 4px; }
.investigation-case-badges i { padding: 2px 5px; border: 1px solid var(--border); border-radius: 999px; color: var(--faint); font: normal 8px var(--code); }
.investigation-layout { min-height: 660px; display: grid; grid-template-columns: minmax(360px,.82fr) minmax(540px,1.45fr); gap: 12px; }
.investigation-queue,.investigation-dossier { min-width: 0; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); overflow: hidden; }
.investigation-panel-head { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--border); }
.investigation-panel-head strong { color: var(--foreground); font-size: 13px; }
.investigation-panel-head small,.investigation-panel-head span { display: block; color: var(--faint); font: 9px var(--code); }
.investigation-case-list { max-height: 700px; overflow-y: auto; padding: 7px; }
.investigation-case { width: 100%; min-height: 112px; display: grid; grid-template-columns: 16px 4px 1fr auto; gap: 9px; padding: 10px 10px 10px 8px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--muted); text-align: left; transition: background .18s ease,border-color .18s ease; }
.investigation-case:hover,.investigation-case:focus-visible,.investigation-case.active { border-color: rgba(245,158,11,.36); background: rgba(245,158,11,.06); outline: none; }
.investigation-case-line { width: 4px; height: 100%; border-radius: 999px; background: var(--info); }
.investigation-case[data-severity="critical"] .investigation-case-line { background: #ef4444; }
.investigation-case[data-severity="high"] .investigation-case-line { background: #f97316; }
.investigation-case[data-severity="medium"] .investigation-case-line { background: #f59e0b; }
.investigation-case-copy { display: grid; align-content: start; gap: 5px; min-width: 0; }
.investigation-case-copy strong { color: var(--foreground); font-size: 12px; }
.investigation-case-copy span { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.investigation-case-copy small { color: var(--faint); font: 9px var(--code); }
.investigation-case-amount { color: var(--warning); font: 11px var(--code); white-space: nowrap; }
.investigation-case-detail { max-height: 760px; overflow-y: auto; padding: 14px; }
.case-dossier-head { display: grid; gap: 8px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.case-dossier-head h2 { margin: 0; color: var(--foreground); font-size: 19px; }
.case-risk-row { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.case-severity { display: inline-flex; min-height: 26px; align-items: center; padding: 3px 8px; border: 1px solid currentColor; border-radius: 999px; color: var(--warning); font: 9px var(--code); }
.case-severity.critical { color: #f87171; }.case-severity.high { color: #fb923c; }.case-severity.medium { color: #fbbf24; }.case-severity.review { color: #38bdf8; }
.case-summary { margin: 0; padding: 11px 12px; border-left: 3px solid var(--warning); background: var(--background); color: var(--muted); font-size: 12px; line-height: 1.65; }
.case-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.case-actions button { min-height: 40px; padding: 7px 11px; border: 1px solid rgba(34,197,94,.38); border-radius: 7px; background: var(--accent-soft); color: var(--accent); }
.case-section { margin-top: 16px; }
.case-section h3 { margin: 0 0 8px; color: var(--foreground); font-size: 12px; }
.case-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.case-facts div { min-height: 58px; display: grid; gap: 3px; align-content: center; padding: 9px; border: 1px solid var(--border); border-radius: 7px; background: var(--background); }
.case-facts span { color: var(--faint); font-size: 9px; }.case-facts strong { color: var(--foreground); font-size: 11px; overflow-wrap: anywhere; }
.case-recommendations { margin: 0; padding-left: 20px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.case-records { overflow-x: auto; }
.case-records table { width: 100%; border-collapse: collapse; font-size: 10px; }
.case-records th,.case-records td { padding: 7px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.case-records th { color: var(--faint); font: 9px var(--code); }.case-records td { color: var(--muted); }
.graph-workspace { display: grid; gap: 12px; }
.graph-workspace[hidden] { display: none; }
.graph-command-bar { display: grid; grid-template-columns: minmax(320px,1fr) 210px auto; gap: 10px; align-items: end; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.graph-search-field, .graph-type-filter { display: grid; gap: 6px; color: var(--faint); font: 10px var(--code); }
.graph-search-field > div { min-height: 44px; display: flex; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid var(--border); border-radius: 7px; background: var(--background); color: var(--faint); }
.graph-search-field svg { width: 18px; height: 18px; fill: currentColor; }
.graph-search-field input, .graph-type-filter select, .graph-depth-control select { width: 100%; border: 0; outline: 0; background: transparent; color: var(--foreground); }
.graph-search-field > div:focus-within, .graph-type-filter:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(34,197,94,.08); }
.graph-type-filter { min-height: 44px; padding: 7px 10px; border: 1px solid var(--border); border-radius: 7px; background: var(--background); }
.graph-search-button { color: var(--accent); padding-left: 18px; padding-right: 18px; }
.graph-command-actions { display: flex; gap: 7px; }
.graph-kpis { display: flex; flex-wrap: wrap; gap: 8px; }
.graph-kpis span { min-height: 34px; display: inline-flex; align-items: center; padding: 6px 10px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); color: var(--muted); font: 10px var(--code); }
.graph-kpis strong { color: var(--foreground); margin-right: 4px; }
.graph-layout { min-height: 610px; display: grid; grid-template-columns: minmax(210px,.6fr) minmax(520px,2fr) minmax(260px,.8fr); gap: 12px; }
.graph-result-panel, .graph-canvas-panel, .graph-detail-panel, .graph-relation-panel { min-width: 0; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); overflow: hidden; }
.graph-panel-head { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; border-bottom: 1px solid var(--border); }
.graph-panel-head strong { color: var(--foreground); font-size: 12px; }
.graph-panel-head span, .graph-panel-head small { display: block; color: var(--faint); font: 10px var(--code); }
.graph-view-controls { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.graph-depth-control { display: flex; align-items: center; gap: 8px; color: var(--faint); font-size: 10px; }
.graph-depth-control select { width: auto; min-height: 32px; padding: 0 6px; border: 1px solid var(--border); border-radius: 6px; }
.graph-path-summary { min-height: 42px; display: flex; align-items: center; gap: 6px; padding: 7px 12px; overflow-x: auto; border-bottom: 1px solid var(--border); background: rgba(15,23,42,.72); color: var(--faint); white-space: nowrap; }
.graph-path-summary span { min-height: 27px; display: inline-flex; align-items: center; padding: 4px 8px; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); font: 9px var(--code); }
.graph-path-summary span.has-data { border-color: rgba(34,197,94,.42); color: var(--foreground); background: var(--accent-soft); }
.graph-path-summary b { color: var(--warning); font-weight: 500; }
.graph-search-results { max-height: 556px; overflow-y: auto; padding: 7px; }
.graph-result-item { width: 100%; min-height: 54px; display: grid; gap: 3px; padding: 9px 10px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--muted); text-align: left; transition: background .18s ease,border-color .18s ease; }
.graph-result-item:hover, .graph-result-item:focus-visible, .graph-result-item.active { border-color: rgba(34,197,94,.35); background: var(--accent-soft); outline: none; }
.graph-result-item strong { color: var(--foreground); font-size: 11px; overflow-wrap: anywhere; }
.graph-result-item span { color: var(--faint); font: 9px var(--code); overflow-wrap: anywhere; }
.graph-node-type { display: inline-flex; width: max-content; padding: 2px 5px; border: 1px solid currentColor; border-radius: 999px; color: var(--info); }
.graph-canvas { position: relative; min-height: 500px; background-color: #050b15; background-image: radial-gradient(rgba(56,189,248,.12) 1px,transparent 1px); background-size: 20px 20px; overflow: hidden; }
.graph-canvas svg { display: block; width: 100%; height: 500px; }
.graph-empty { position: absolute; inset: 0; display: grid; place-items: center; color: var(--faint); pointer-events: none; }
.graph-edge { stroke: #64748b; stroke-opacity: .52; stroke-width: 1.25; }
.graph-edge.is-money { stroke: var(--warning); stroke-opacity: .72; }
.graph-edge-label { fill: var(--faint); font: 8px var(--code); pointer-events: none; }
.graph-node { cursor: pointer; }
.graph-node circle { fill: var(--surface-3); stroke: var(--info); stroke-width: 2; transition: stroke-width .18s ease,filter .18s ease; }
.graph-node:hover circle, .graph-node:focus-visible circle { stroke-width: 4; filter: drop-shadow(0 0 7px rgba(34,197,94,.55)); outline: none; }
.graph-node.root circle { stroke: var(--accent); stroke-width: 4; }
.graph-node[data-type="contract"] circle { stroke: #f59e0b; }
.graph-node[data-type="trade_order"] circle, .graph-node[data-type="payment_order"] circle { stroke: #38bdf8; }
.graph-node[data-type="enterprise"] circle, .graph-node[data-type="account"] circle { stroke: #a78bfa; }
.graph-node[data-type="fund_transaction"] circle { stroke: #f97316; }
.graph-node[data-type="driver"] circle { stroke: #22c55e; }
.graph-node[data-type="shipment"] circle, .graph-node[data-type="logistics_document"] circle, .graph-node[data-type="vehicle"] circle { stroke: #14b8a6; }
.graph-node[data-type="trajectory"] circle { stroke: #f472b6; stroke-dasharray: 3 2; }
.graph-node text { fill: var(--foreground); font: 9px var(--code); text-anchor: middle; pointer-events: none; }
.graph-node .graph-node-type-label { fill: var(--faint); font-size: 7px; }
.graph-legend { min-height: 44px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 8px 12px; border-top: 1px solid var(--border); color: var(--faint); font-size: 10px; }
.graph-legend span { display: inline-flex; align-items: center; gap: 5px; }
.graph-legend i { width: 8px; height: 8px; border-radius: 50%; border: 2px solid var(--info); }
.graph-legend i.contract { border-color: var(--warning); } .graph-legend i.enterprise { border-color: #a78bfa; } .graph-legend i.fund { border-color: #f97316; } .graph-legend i.logistics { border-color: #14b8a6; } .graph-legend i.person { border-color: var(--accent); } .graph-legend i.trajectory { border-color: #f472b6; border-style: dashed; }
.graph-node-detail { max-height: 556px; overflow-y: auto; padding: 10px; }
.graph-detail-card { display: grid; gap: 8px; }
.graph-detail-card h3 { margin: 0; color: var(--foreground); font-size: 14px; overflow-wrap: anywhere; }
.graph-detail-meta { color: var(--faint); font: 9px var(--code); overflow-wrap: anywhere; }
.graph-detail-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.graph-detail-actions button { min-height: 36px; border: 1px solid rgba(34,197,94,.35); border-radius: 6px; background: var(--accent-soft); color: var(--accent); padding: 6px 9px; font-size: 10px; }
.graph-attribute-list { display: grid; gap: 5px; }
.graph-attribute-list div { display: grid; gap: 2px; padding: 7px 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--background); }
.graph-attribute-list span { color: var(--faint); font-size: 9px; }
.graph-attribute-list strong { color: var(--muted); font-size: 10px; font-weight: 500; overflow-wrap: anywhere; white-space: pre-wrap; }
.graph-evidence-list { display: grid; gap: 5px; margin-top: 10px; }
.graph-evidence-list article { padding: 7px 8px; border-left: 2px solid var(--info); background: var(--background); color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.graph-trajectory-preview { margin: 0; border: 1px solid var(--border); border-radius: 7px; overflow: hidden; background: var(--background); }
.graph-trajectory-preview img { display: block; width: 100%; max-height: 220px; object-fit: contain; }
.graph-trajectory-preview figcaption { padding: 6px 8px; color: var(--faint); font: 9px var(--code); }
.graph-relation-panel { padding-bottom: 10px; }
.graph-relation-panel .detail-table-wrap { margin: 10px; }
@media (max-width: 1280px) { .graph-layout { grid-template-columns: 220px minmax(480px,1fr); } .graph-detail-panel { grid-column: 1 / -1; } .graph-node-detail { max-height: none; } }
@media (max-width: 1100px) { .investigation-kpis,.investigation-category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .investigation-layout { grid-template-columns: 1fr; } .investigation-case-list { max-height: 480px; } }
@media (max-width: 800px) { .investigation-kpis,.investigation-category-grid { grid-template-columns: 1fr 1fr; } .investigation-toolbar { grid-template-columns: 1fr; } .case-facts { grid-template-columns: 1fr 1fr; } .graph-command-bar { grid-template-columns: 1fr; } .graph-layout { grid-template-columns: 1fr; } .graph-result-panel, .graph-detail-panel { grid-column: auto; } .graph-search-results { max-height: 260px; } .graph-canvas-panel { min-width: 0; } .graph-panel-head { align-items: flex-start; flex-direction: column; } .graph-view-controls { justify-content: flex-start; } .graph-canvas { overflow-x: auto; } .graph-canvas svg { min-width: 900px; } }
.industry-json-card { border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); padding: 12px 14px; }
.industry-json-card h4 { margin: 0 0 8px; color: var(--foreground); font-size: 13px; }

/* Investigation workbench readability pass: keep the dense layout, raise every
   decision-bearing label and value to a comfortable reading scale. */
.investigation-workspace { font-size: 14px; }
.investigation-workspace .audit-run-strip { font-size: 12px; line-height: 1.5; }
.investigation-workspace .contract-chain-entry p { font-size: 13px; line-height: 1.6; }
.investigation-workspace .chain-column > strong { font-size: 12px; }
.investigation-workspace .chain-contract b { font-size: 14px; }
.investigation-workspace .chain-contract span,
.investigation-workspace .chain-contract small { font-size: 12px; line-height: 1.5; }
.investigation-workspace .investigation-kpis span { font-size: 12px; }
.investigation-workspace .investigation-kpis strong { font-size: 27px; }
.investigation-workspace .investigation-kpis small { font-size: 12px; line-height: 1.45; }
.investigation-workspace .investigation-category strong { font-size: 15px; }
.investigation-workspace .investigation-category span { font-size: 12px; }
.investigation-workspace .investigation-toolbar label { font-size: 12px; }
.investigation-workspace .investigation-toolbar input,
.investigation-workspace .investigation-toolbar select { min-height: 46px; font-size: 14px; }
.investigation-workspace .investigation-toolbar .filter-button { font-size: 14px; }
.investigation-workspace .audit-bulk-bar { font-size: 13px; }
.investigation-workspace .audit-bulk-bar input,
.investigation-workspace .audit-bulk-bar select,
.investigation-workspace .audit-bulk-bar button { min-height: 44px; font-size: 13px; }
.investigation-workspace .investigation-case-copy strong { font-size: 15px; line-height: 1.45; }
.investigation-workspace .investigation-case-copy span { font-size: 13px; line-height: 1.45; }
.investigation-workspace .investigation-case-copy small { font-size: 12px; line-height: 1.45; }
.investigation-workspace .investigation-case-badges i { font-size: 10px; }
.investigation-workspace .investigation-case-amount { font-size: 14px; }
.investigation-workspace .case-dossier-head h2 { font-size: 24px; }
.investigation-workspace .case-severity,
.investigation-workspace .graph-node-type { font-size: 12px; }
.investigation-workspace .case-summary { font-size: 15px; line-height: 1.75; }
.investigation-workspace .case-actions button,
.investigation-workspace .case-actions select { min-height: 44px; font-size: 14px; }
.investigation-workspace .case-section h3 { font-size: 15px; }
.investigation-workspace .case-facts span { font-size: 12px; }
.investigation-workspace .case-facts strong { font-size: 14px; line-height: 1.45; }
.investigation-workspace .case-recommendations { font-size: 14px; line-height: 1.9; }
.investigation-workspace .case-records table { font-size: 13px; }
.investigation-workspace .case-records th { font-size: 12px; }
.investigation-workspace .case-records td { font-size: 13px; line-height: 1.5; }
.investigation-workspace .graph-evidence-list article { font-size: 13px; line-height: 1.55; }
@media (max-width: 800px) {
  .investigation-workspace .investigation-kpis strong { font-size: 23px; }
  .investigation-workspace .case-dossier-head h2 { font-size: 21px; }
  .investigation-workspace .audit-bulk-bar input { min-width: 100%; margin-left: 0; }
}
.industry-json-card pre { margin: 0; max-height: 260px; overflow: auto; white-space: pre-wrap; word-break: break-word; color: var(--muted); font: 12px/1.55 var(--code); }

.service-kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.service-kpi-grid[hidden] { display: none; }
.service-kpi-grid .kpi-card { min-height: 126px; }
@media (max-width: 1100px) { .service-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 720px) { .service-kpi-grid { grid-template-columns: 1fr; } }
/* 可读性优化：灰色辅助文字（--muted / --faint）统一 12px */
.brand-caption { font-size: 12px; }
.mono { font-size: 12px; }
.nav-label { font-size: 12px; }
.panel-kicker { font-size: 12px; }
.eyebrow { font-size: 12px; }
.kpi-label { font-size: 12px; }
.date-stamp span { font-size: 12px; }
.nav-item { font-size: 12px; }
.nav-count { font-size: 12px; }
.sidebar-footer { font-size: 12px; }
.crumb { font-size: 12px; }
.icon-button { font-size: 12px; }
.user-chip { font-size: 12px; }
.hero-copy { font-size: 12px; }
.kpi-foot { font-size: 12px; }
.trend.neutral { font-size: 12px; }
.stat-strip span { font-size: 12px; }
.filter-button { font-size: 12px; }
.search-box { font-size: 12px; }
.filter-field { font-size: 12px; }
.date-range-filter label { font-size: 12px; }
th { font-size: 12px; }
td { font-size: 12px; }
.route { font-size: 12px; }
.route strong { font-size: 12px; }
.cell-sub { font-size: 12px; }
.status.muted { font-size: 12px; }
.loading-row { font-size: 12px; }
.table-footer { font-size: 12px; }
.pager button { font-size: 12px; }
.bar-row { font-size: 12px; }
.bar-value { font-size: 12px; }
.chart-note { font-size: 12px; }
.detail-card span { font-size: 12px; }
.detail-section h3 { font-size: 12px; }
.drawer-loading { font-size: 12px; }
.empty-state { font-size: 12px; }
.fact span { font-size: 12px; }
.fact.is-success strong { font-size: 12px; }
.section-heading span { font-size: 12px; }
.detail-table td.is-success { font-size: 12px; }
.tag-list span { font-size: 12px; }
.mini-tag-list span { font-size: 12px; }
.muted-value { font-size: 12px; }
.analytics-card span { font-size: 12px; }
.analytics-card small { font-size: 12px; }
.metric-meta { font-size: 12px; }
.weight-line { font-size: 12px; }
.trajectory-grid figcaption { font-size: 12px; }
.fund-hero small { font-size: 12px; }
.case-command-bar p { font-size: 12px; }
.case-conclusion span { font-size: 12px; }
.case-kpis span { font-size: 12px; }
.case-kpis small { font-size: 12px; }
.case-stage-grid i { font-size: 12px; }
.case-stage-grid span { font-size: 12px; }
.case-reconciliation-equation span { font-size: 12px; }
.case-reconciliation-equation small { font-size: 12px; }
.case-reconciliation-orders span { font-size: 12px; }
.case-subject-chain-panel .case-panel-head p { font-size: 12px; }
.case-chain-legend { font-size: 12px; }
.case-chain-stage > header small { font-size: 12px; }
.case-subject-card { font-size: 12px; }
.case-subject-card.service .case-subject-role { font-size: 12px; }
.case-subject-card > span:not(.case-subject-role) { font-size: 12px; }
.case-subject-card small { font-size: 12px; }
.case-subject-card b { font-size: 12px; }
.case-chain-connector { font-size: 12px; }
.case-service-head span { font-size: 12px; }
.case-chain-note span { font-size: 12px; }
.case-panel-head > span { font-size: 12px; }
.case-panel-actions > span { font-size: 12px; }
.case-priority-item { font-size: 12px; }
.case-priority-item small { font-size: 12px; }
.case-missing-grid small { font-size: 12px; }
.case-missing-tooltip > div span { font-size: 12px; }
.case-missing-tooltip p { font-size: 12px; }
.case-missing-tooltip li small { font-size: 12px; }
.case-supplement { font-size: 12px; }
.closure-arrow { font-size: 12px; }
.attachment-link small { font-size: 12px; }
.attachment-link.is-missing { font-size: 12px; }
.edit-panel-head small { font-size: 12px; }
.edit-field-grid label { font-size: 12px; }
.audit-run-strip { font-size: 12px; }
.contract-chain-entry p { font-size: 12px; }
.chain-column > strong { font-size: 12px; }
.chain-contract span { font-size: 12px; }
.chain-contract small { font-size: 12px; }
.investigation-kpis span { font-size: 12px; }
.investigation-kpis small { font-size: 12px; }
.investigation-category { font-size: 12px; }
.investigation-category span { font-size: 12px; }
.investigation-toolbar label { font-size: 12px; }
.audit-bulk-bar { font-size: 12px; }
.investigation-case-badges i { font-size: 12px; }
.investigation-panel-head small { font-size: 12px; }
.investigation-panel-head span { font-size: 12px; }
.investigation-case { font-size: 12px; }
.investigation-case-copy span { font-size: 12px; }
.investigation-case-copy small { font-size: 12px; }
.case-summary { font-size: 12px; }
.case-facts span { font-size: 12px; }
.case-recommendations { font-size: 12px; }
.case-records th { font-size: 12px; }
.case-records td { font-size: 12px; }
.graph-search-field { font-size: 12px; }
.graph-type-filter { font-size: 12px; }
.graph-search-field > div { font-size: 12px; }
.graph-kpis span { font-size: 12px; }
.graph-panel-head span { font-size: 12px; }
.graph-panel-head small { font-size: 12px; }
.graph-depth-control { font-size: 12px; }
.graph-path-summary { font-size: 12px; }
.graph-path-summary span { font-size: 12px; }
.graph-result-item { font-size: 12px; }
.graph-result-item span { font-size: 12px; }
.graph-empty { font-size: 12px; }
.graph-legend { font-size: 12px; }
.graph-legend i.enterprise { font-size: 12px; }
.graph-detail-meta { font-size: 12px; }
.graph-attribute-list span { font-size: 12px; }
.graph-attribute-list strong { font-size: 12px; }
.graph-evidence-list article { font-size: 12px; }
.graph-trajectory-preview figcaption { font-size: 12px; }
.industry-json-card pre { font-size: 12px; }
