/* Generation evidence continues the customer profile's shared design system. */
.prov-overlay { position:fixed; inset:0; z-index:17000; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(15,23,42,.4); }
.prov-shell { --prov-ink:var(--text-primary); --prov-muted:var(--text-muted); --prov-line:var(--border-primary); --prov-teal:var(--accent-primary); --prov-purple:var(--accent-primary); width:min(1280px,100%); height:calc(100dvh - 48px); max-height:calc(100dvh - 48px); background:var(--bg-secondary); color:var(--text-primary); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); display:flex; flex-direction:column; overflow:hidden; font-size:var(--fs-body); line-height:1.55; }
.prov-shell *, .prov-shell *::before { box-sizing:border-box; }
.prov-shell, .prov-shell button, .prov-shell input, .prov-shell select, .prov-shell svg { font-family:inherit; }
.prov-header { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; padding:20px 24px; gap:24px; border-bottom:1px solid var(--border-primary); }
.prov-header h2 { margin:0; font-size:var(--fs-title); color:var(--text-primary); }
.prov-header p { margin:4px 0 0; font-size:var(--fs-small); color:var(--text-muted); }
.prov-header-actions { display:flex; align-items:center; }
.prov-body { flex:1 1 0; overflow-y:auto; min-height:0; scrollbar-gutter:stable; padding:24px; overscroll-behavior:contain; scrollbar-color:var(--border-secondary) transparent; }
.prov-profile-heading { margin-bottom:24px; }
.prov-profile-heading h1 { margin:0; font-size:30px; line-height:1.3; font-weight:700; color:var(--text-primary); letter-spacing:-.5px; }
.prov-profile-meta { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:5px; color:var(--text-muted); }
.prov-profile-heading p { margin:9px 0 0; font-size:var(--fs-small); }
.prov-tabs { margin-bottom:20px; }
.prov-tabs .tab-btn { font-size:var(--fs-body); }
.prov-content { padding:0; }
.prov-tab-panel { display:flex; flex-direction:column; gap:24px; }
.prov-tab-panel[hidden] { display:none; }
.prov-section { background:var(--bg-card); border:1px solid var(--border-primary); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:20px; scroll-margin-top:16px; }
.prov-section-heading { margin-bottom:20px; }
.prov-section-heading h3 { margin:0 0 8px; font-size:var(--fs-subheading); font-weight:700; color:var(--text-primary); }
.prov-section-heading p, .prov-section p { font-size:var(--fs-body); }
.prov-section-heading p { margin:0; color:var(--text-muted); }
.prov-eyebrow { display:none; }
.prov-section h4 { font-size:var(--fs-subheading); font-weight:650; margin:20px 0 10px; }
.prov-feature-title { margin-top:10px !important; }
.prov-muted, .prov-method-note { color:var(--text-muted); }
.prov-method-note { font-size:var(--fs-small) !important; margin:16px 0; line-height:1.6; }
.prov-notice { border:1px solid var(--border-primary); background:var(--bg-tertiary); border-radius:var(--radius-ctl); padding:14px; margin:12px 0; font-size:var(--fs-body); color:var(--text-secondary); }
.prov-loading { padding:60px; text-align:center; color:var(--text-muted); }
.prov-badge { display:inline-flex; align-items:center; border:1px solid var(--border-primary); border-radius:var(--radius-sm); background:var(--bg-tertiary); color:var(--accent-primary); padding:3px 8px; font-size:var(--fs-small); font-weight:500; line-height:1.35; }
.prov-badge.prov-amber { background:#fffbeb; color:#92400e; border-color:#fde68a; }
.prov-section-status { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.prov-summary, .prov-flow-totals { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--border-primary); border-radius:var(--radius-lg); background:var(--bg-secondary); padding:18px 0; margin:0; }
.prov-summary-compact { margin:16px 0; }
.prov-flow-totals { grid-template-columns:repeat(3,minmax(0,1fr)); margin:16px 0; }
.prov-metric { padding:0 20px; border-right:1px solid var(--border-primary); min-width:0; }
.prov-metric:last-child { border-right:0; }
.prov-metric > span { display:block; font-size:var(--fs-small); color:var(--text-muted); margin-bottom:5px; }
.prov-metric strong { display:block; font-size:var(--fs-title); font-weight:650; color:var(--text-primary); overflow-wrap:anywhere; }
.prov-metric small { display:block; font-size:var(--fs-small); color:var(--text-muted); margin-top:5px; }
.prov-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; margin:0; }
.prov-facts > div { display:grid; grid-template-columns:45% minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid var(--border-primary); min-width:0; }
.prov-facts dt { font-size:var(--fs-small); color:var(--text-muted); text-transform:uppercase; letter-spacing:.03em; }
.prov-facts dd { margin:0; font-size:var(--fs-body); font-weight:600; overflow-wrap:anywhere; }
.prov-disclosure { margin-top:14px; border:1px solid var(--border-primary); border-radius:var(--radius-ctl); padding:0 14px; background:var(--bg-secondary); }
.prov-disclosure > summary { padding:13px 0; cursor:pointer; font-weight:600; font-size:var(--fs-body); color:var(--text-secondary); }
.prov-disclosure > summary > span + span { float:right; font-weight:400; color:var(--text-muted); }
.prov-disclosure[open] { padding-bottom:14px; }
.prov-disclosure[open] > summary { margin-bottom:12px; border-bottom:1px solid var(--border-primary); }
.prov-disclosure pre { background:var(--bg-tertiary); padding:14px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:var(--fs-small); }
.prov-table-wrap { overflow-x:auto; border:1px solid var(--border-primary); border-radius:var(--radius-ctl); }
.prov-table { width:100%; border-collapse:collapse; font-size:var(--fs-body); color:var(--text-primary); text-align:left; }
.prov-table th { background:var(--bg-primary); padding:11px 13px; font-size:var(--fs-small); color:var(--text-muted); text-transform:uppercase; font-weight:600; }
.prov-table td { padding:11px 13px; border-top:1px solid var(--border-primary); vertical-align:top; }
.prov-table td small { display:block; font-size:var(--fs-small); color:var(--text-muted); margin-top:3px; }
.prov-table tr.is-changed { background:#fffbeb; }
.prov-source-detail { margin-top:8px; }
.prov-source-detail summary { color:var(--accent-primary); cursor:pointer; font-size:var(--fs-small); }
.prov-source-detail .prov-table-wrap { margin-top:8px; min-width:310px; }
.prov-reference { font-size:var(--fs-small); color:var(--text-muted); overflow-wrap:anywhere; }
.prov-empty { padding:20px; text-align:center; color:var(--text-muted); }
.prov-pagination { display:flex; gap:8px; justify-content:flex-end; align-items:center; margin-top:14px; }
.prov-pagination > span { margin-right:auto; color:var(--text-muted); font-size:var(--fs-small); }
.prov-dot { display:inline-block; width:7px; height:7px; flex:none; border-radius:50%; background:var(--accent-primary); }
/* The customer timeline: the monthly ledger with the history laid over it, and a chronology
   that opens beneath. Colours are tokens here because the SVG takes them through classes. */
.prov-tl { --tl-in:var(--accent-primary-400); --tl-out:var(--border-secondary); --tl-life:var(--accent-primary); --tl-atypical:var(--accent-violet); --tl-typology:#c2410c; --tl-window:#d9874f; }
.prov-tl-tools { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:10px; }
.prov-tl-tools .prov-select-label { margin:0; font-size:var(--fs-small); color:var(--text-muted); }
.prov-tl-legend { display:flex; gap:16px; flex-wrap:wrap; font-size:var(--fs-small); color:var(--text-secondary); }
.prov-tl-legend span { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.prov-tl-key { width:10px; height:10px; border-radius:2px; background:var(--tl-in); }
.prov-tl-key.is-out { background:var(--tl-out); }
.prov-tl-key.is-life { border-radius:50%; background:var(--tl-life); }
.prov-tl-key.is-account { border-radius:50%; background:var(--bg-card); border:2px solid var(--tl-life); }
.prov-tl-key.is-atypical { background:var(--tl-atypical); }
.prov-tl-key.is-typology { background:var(--tl-typology); }
.prov-tl-key.is-window { background:transparent; border:1.5px dashed var(--tl-window); }
.prov-tl-plot { position:relative; }
.prov-tl-chart { min-height:150px; }
.prov-tl-tip { position:absolute; z-index:4; min-width:190px; max-width:280px; padding:10px 12px; border:1px solid var(--border-primary); border-radius:var(--radius-ctl); background:var(--bg-card); box-shadow:var(--shadow-md, 0 8px 24px rgba(15,23,42,.12)); font-size:var(--fs-small); pointer-events:none; }
.prov-tl-tip strong { display:block; margin-bottom:6px; font-size:var(--fs-body); color:var(--text-primary); }
.prov-tl-tip dl { display:grid; grid-template-columns:auto 1fr; gap:2px 14px; margin:0; }
.prov-tl-tip dt { color:var(--text-muted); }
.prov-tl-tip dd { margin:0; text-align:right; font-variant-numeric:tabular-nums; color:var(--text-primary); font-weight:600; }
.prov-tl-tip ul { list-style:none; margin:8px 0 0; padding:8px 0 0; border-top:1px solid var(--border-primary); display:flex; flex-direction:column; gap:4px; color:var(--text-secondary); }
.prov-tl-tip-running li { display:flex; align-items:center; gap:7px; }
.prov-tl-tip .prov-chrono-num { width:16px; height:16px; font-size:9.5px; flex:none; }
.tl-svg { display:block; overflow:visible; font-family:inherit; }
.tl-year { fill:var(--bg-primary); }
.tl-year-label { font-size:11.5px; font-weight:600; fill:var(--text-secondary); }
.tl-month-label { font-size:11px; fill:var(--text-muted); }
.tl-grid { stroke:var(--border-primary); stroke-dasharray:2 3; }
.tl-grid-year { stroke:var(--border-secondary); stroke-dasharray:none; }
.tl-shade { fill:var(--accent-primary); fill-opacity:.06; pointer-events:none; }
.tl-column { fill:var(--accent-primary); fill-opacity:.08; pointer-events:none; }
.tl-guide { stroke:var(--border-primary); stroke-dasharray:2 4; }
.tl-break { stroke:var(--bg-card); stroke-width:2; fill:none; pointer-events:none; }
.tl-beyond { font-size:9.5px; font-weight:700; text-anchor:middle; fill:white; pointer-events:none; }
.tl-band.is-atypical { fill:var(--tl-atypical); fill-opacity:.11; }
.tl-band.is-typology { fill:var(--tl-typology); fill-opacity:.10; }
.tl-window { fill:transparent; stroke:var(--tl-window); stroke-dasharray:4 3; cursor:pointer; transition:stroke-width .15s; }
.tl-window.is-hot { stroke-width:2; }
.tl-bar { transition:opacity .15s; }
.tl-bar.is-dim { opacity:.35; }
.tl-in { fill:var(--tl-in); }
.tl-out { fill:var(--tl-out); }
.tl-mid { stroke:var(--bg-card); }
.tl-axis { font-size:10.5px; fill:var(--text-muted); text-anchor:end; }
.tl-axis.is-strong { font-weight:600; fill:var(--text-secondary); }
.tl-strip.is-atypical { fill:var(--tl-atypical); }
.tl-strip.is-typology { fill:var(--tl-typology); }
.tl-outline { fill:none; stroke-width:1.5; opacity:0; pointer-events:none; transition:opacity .15s; }
.tl-outline.is-atypical { stroke:var(--tl-atypical); }
.tl-outline.is-typology { stroke:var(--tl-typology); }
.tl-outline.is-hot { opacity:1; }
.tl-hit { fill:transparent; cursor:pointer; }
.tl-stem { stroke:var(--border-secondary); stroke-dasharray:2 3; }
.tl-stem.is-hot { stroke:var(--tl-life); stroke-dasharray:none; }
.tl-span { stroke:var(--tl-life); stroke-width:3; stroke-linecap:round; }
.tl-recovery { stroke:var(--tl-life); stroke-width:2; stroke-dasharray:3 3; opacity:.6; }
.tl-marker { cursor:pointer; outline:none; }
.tl-dot { stroke:var(--bg-card); stroke-width:2; }
.tl-num { font-size:10px; font-weight:700; text-anchor:middle; fill:white; pointer-events:none; }
.tl-halo { opacity:0; transition:opacity .15s; }
.tl-marker.is-hot .tl-halo, .tl-marker:focus-visible .tl-halo { opacity:.18; }
.tl-marker.is-life .tl-dot, .tl-marker.is-life .tl-halo { fill:var(--tl-life); }
.tl-marker.is-account .tl-dot { fill:var(--bg-card); stroke:var(--tl-life); }
.tl-marker.is-account .tl-halo { fill:var(--tl-life); }
.tl-marker.is-account .tl-num { fill:var(--tl-life); }
.tl-marker.is-atypical .tl-dot, .tl-marker.is-atypical .tl-halo { fill:var(--tl-atypical); }
.tl-marker.is-typology .tl-dot, .tl-marker.is-typology .tl-halo { fill:var(--tl-typology); }
.prov-tl-note { display:flex; align-items:center; gap:8px; margin:8px 0 0 !important; color:var(--text-muted); font-size:var(--fs-small) !important; }
.prov-tl-note::before { content:""; width:14px; border-top:1.5px solid var(--border-secondary); flex:none; }
.prov-tl-note.is-withheld { padding:8px 12px; border:1px dashed var(--border-secondary); border-radius:var(--radius-ctl); background:repeating-linear-gradient(135deg,var(--bg-primary) 0 6px,var(--bg-tertiary) 6px 12px); color:var(--text-secondary); }
.prov-tl-note.is-withheld::before { display:none; }
.prov-chrono { margin-top:16px; border-top:1px solid var(--border-primary); }
.prov-chrono-toggle { width:100%; display:flex; align-items:baseline; gap:10px; padding:14px 2px 12px; border:0; background:none; font:inherit; text-align:left; cursor:pointer; color:var(--text-secondary); }
.prov-chrono-toggle:hover .prov-chrono-title, .prov-chrono-toggle:hover .prov-chrono-action { color:var(--accent-primary); }
.prov-chrono-chevron { width:7px; height:7px; flex:none; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(-45deg); transition:transform .3s ease; }
.prov-chrono-toggle[aria-expanded=true] .prov-chrono-chevron { transform:translateY(-3px) rotate(45deg); }
.prov-chrono-title { font-weight:650; color:var(--text-primary); }
.prov-chrono-summary { flex:1; min-width:0; color:var(--text-muted); font-size:var(--fs-small); }
.prov-chrono-action { flex:none; font-size:var(--fs-small); font-weight:600; color:var(--text-secondary); }
.prov-chrono-body { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .32s ease, opacity .24s ease; }
.prov-chrono-body.is-open { grid-template-rows:1fr; opacity:1; }
.prov-chrono-inner { min-height:0; overflow:hidden; }
.prov-chrono-row { display:grid; grid-template-columns:150px 22px minmax(0,1fr) auto; gap:12px; align-items:start; padding:9px 8px; border-radius:var(--radius-ctl); transition:background .15s; }
.prov-chrono-row[data-n] { cursor:pointer; }
.prov-chrono-row.is-hot { background:var(--accent-primary-50); }
.prov-chrono-row.is-child { padding-left:28px; }
.prov-chrono-row.is-child .prov-chrono-when { margin-left:-20px; }
.prov-chrono-when { color:var(--text-muted); font-size:var(--fs-small); font-variant-numeric:tabular-nums; padding-top:1px; }
.prov-chrono-num { width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:white; font-size:11px; font-weight:700; background:var(--tl-life); }
.prov-chrono-num.is-account { background:var(--bg-card); border:2px solid var(--tl-life); color:var(--tl-life); }
.prov-chrono-num.is-atypical { background:var(--tl-atypical); }
.prov-chrono-num.is-typology { background:var(--tl-typology); }
.prov-chrono-num.is-window { background:transparent; border:1.5px dashed var(--tl-window); }
.prov-chrono-num.is-edge { width:8px; height:8px; margin:6px; background:var(--border-secondary); }
.prov-chrono-what strong { font-weight:600; color:var(--text-primary); }
.prov-chrono-what p { margin:1px 0 0; color:var(--text-muted); font-size:var(--fs-small) !important; }
.prov-chrono-kind { margin-left:8px; font-size:var(--fs-micro); font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--tl-life); }
.prov-chrono-kind.is-atypical { color:var(--tl-atypical); }
.prov-chrono-kind.is-typology, .prov-chrono-kind.is-window { color:var(--tl-typology); }
.prov-chrono-effects { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.prov-chrono-effects span { font-size:var(--fs-small); border:1px solid var(--border-primary); border-radius:var(--radius-xs); padding:1px 7px; color:var(--text-secondary); background:var(--bg-card); font-variant-numeric:tabular-nums; white-space:nowrap; }
.prov-chrono-gap { display:flex; align-items:center; gap:10px; padding:2px 8px 2px 179px; color:var(--text-muted); font-size:var(--fs-small); transition:color .15s; }
.prov-chrono-gap::before { content:""; width:2px; height:24px; margin:0 6px 0 -1px; flex:none; background:repeating-linear-gradient(to bottom,var(--border-secondary) 0 3px,transparent 3px 6px); }
.prov-chrono-gap.is-hot { color:var(--text-primary); }
.prov-chrono-gap.is-hot::before { background:var(--accent-primary); }
@media (max-width:760px) {
    .prov-chrono-row { grid-template-columns:84px 22px minmax(0,1fr); }
    .prov-chrono-effects { grid-column:3; justify-content:flex-start; }
    .prov-chrono-gap { padding-left:113px; }
    .prov-chrono-summary { display:none; }
}
@media (prefers-reduced-motion:reduce) {
    .prov-chrono-body, .prov-chrono-chevron, .tl-bar, .tl-outline, .tl-halo, .prov-chrono-row { transition:none; }
}
.prov-chart-legend, .prov-network-legend { display:flex; align-items:center; gap:18px; flex-wrap:wrap; color:var(--text-muted); margin:12px 0; font-size:var(--fs-small); }
.prov-chart-legend span, .prov-network-legend span { display:flex; gap:6px; align-items:center; }
.prov-select-label { display:flex; align-items:center; gap:8px; margin:10px 0; }
.prov-select-label select { border:1px solid var(--border-primary); background:var(--bg-secondary); padding:5px; border-radius:var(--radius-xs); }
.prov-category-grid, .prov-account-grid, .prov-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.prov-account, .prov-product { border:1px solid var(--border-primary); border-radius:var(--radius-md); padding:16px; background:var(--bg-secondary); }
.prov-account-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.prov-account-heading h4, .prov-product > h4 { margin:0 0 5px; }
.prov-product > h4 small { color:var(--text-muted); font-size:var(--fs-small); font-weight:400; }
.prov-account .prov-facts, .prov-product .prov-facts { grid-template-columns:1fr; }
.prov-visibility { display:grid; grid-template-columns:1fr auto; gap:7px; margin:16px 0; font-size:var(--fs-small); color:var(--text-muted); }
.prov-visibility strong { color:var(--accent-primary); }
.prov-visibility > div { grid-column:1 / -1; height:5px; background:var(--bg-tertiary); }
.prov-visibility i { display:block; height:100%; background:var(--accent-primary); }
.prov-episode-budget, .prov-case-meta { color:var(--text-muted); font-size:var(--fs-small); margin-bottom:14px; }
.prov-case-meta { display:flex; gap:18px; flex-wrap:wrap; }
.prov-case-meta b { color:var(--text-primary); }
.prov-case-narrative { margin:20px 0; }
.prov-network { margin:20px 0; padding:16px; border:1px solid var(--border-primary); border-radius:var(--radius-md); background:var(--bg-secondary); }
.prov-network-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.prov-network-heading h4 { margin:0 0 5px; }
.prov-network-heading p { margin:0; color:var(--text-muted); font-size:var(--fs-small); }
.prov-segmented { display:flex; gap:8px; }
.prov-segmented button { background:var(--bg-secondary); border:1px solid var(--border-primary); border-radius:var(--radius-ctl); padding:7px 12px; font-size:var(--fs-small); cursor:pointer; color:var(--text-secondary); }
.prov-segmented button[aria-pressed=true] { color:white; background:var(--accent-primary); border-color:var(--accent-primary); }
.prov-graph-scroll { overflow-x:auto; margin-top:16px; border:1px solid var(--border-primary); border-radius:var(--radius-ctl); background:var(--bg-primary); }
.prov-graph-scroll svg { display:block; width:max-content; min-width:760px; max-width:none; margin:0 auto; }
.prov-graph-edge { fill:none; stroke:var(--border-secondary); stroke-width:1.8; }
.prov-graph-edge.is-hidden { stroke:#c08440; stroke-dasharray:5 5; }
.prov-graph-scroll marker path { fill:var(--text-muted); }
.prov-graph-value-label rect { fill:var(--bg-secondary); stroke:var(--border-primary); stroke-width:1; }
.prov-graph-value { font-size:var(--fs-small); fill:var(--text-primary); font-weight:600; stroke:none; }
.prov-graph-node { cursor:pointer; }
.prov-graph-node rect { fill:var(--bg-secondary); stroke:var(--border-secondary); stroke-width:1.3; }
.prov-graph-node.is-served rect { fill:var(--accent-primary-50); stroke:var(--accent-primary-300); }
.prov-graph-node.is-selected rect { fill:var(--accent-primary); stroke:var(--accent-primary); }
.prov-graph-node.is-aggregate rect { fill:var(--bg-tertiary); stroke-dasharray:4 3; }
.prov-graph-node:hover rect, .prov-graph-node:focus rect { stroke:var(--accent-primary); stroke-width:2.5; }
.prov-graph-name { fill:var(--text-primary); font-size:var(--fs-small); font-weight:650; }
.prov-graph-role, .prov-graph-kind { fill:var(--text-muted); font-size:var(--fs-micro); }
.prov-graph-node.is-selected text { fill:white; }
.prov-graph-caption { color:var(--text-muted); font-size:var(--fs-small) !important; margin:10px 0; }
.prov-node-detail { padding:12px 14px; border:1px solid var(--border-primary); border-radius:var(--radius-ctl); background:var(--bg-primary); display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:var(--fs-body); }
.prov-node-detail p { margin:3px 0 0; color:var(--text-muted); font-size:var(--fs-small); }
.prov-shell .card { margin-top:20px; }
.prov-shell :focus-visible { outline:2px solid var(--accent-primary); outline-offset:3px; }
@media(prefers-reduced-motion:reduce) { .prov-shell * { scroll-behavior:auto !important; } }
/* Desktop audit: shared control sizes, separated metadata and readable evidence. */
.prov-header-actions { flex:none; }
.prov-header-actions .panel-close { height:var(--control-md); min-height:var(--control-md); border-radius:var(--radius-sm); margin:0; }
.prov-header-actions .panel-close { width:var(--control-md); display:inline-flex; align-items:center; justify-content:center; flex:none; }
.prov-profile-meta { column-gap:12px; row-gap:8px; line-height:1.5; }
.prov-profile-meta > * { flex:none; margin:0; }
.prov-profile-context { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:12px; font-size:var(--fs-small); color:var(--text-muted); }
.prov-status-label { display:inline-flex; align-items:center; gap:8px; color:var(--text-secondary); font-weight:500; }
.prov-status-label::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--accent-primary); flex:none; }
.prov-history-label { white-space:nowrap; }
.prov-tabs { margin-bottom:24px; }
.prov-network-legend .prov-dot.prov-life { background:var(--accent-primary); }
.prov-network-legend .prov-dot.prov-variation { background:var(--accent-primary-300); }
.prov-network-legend .prov-dot.prov-ordinary { background:var(--border-secondary); }
.prov-disclosure > summary { list-style-position:inside; }
.prov-disclosure > summary:hover { color:var(--accent-primary); }
.prov-table th, .prov-table td { line-height:1.5; }
.prov-table th { letter-spacing:.02em; }

/* The profile remains a stable desktop workspace while its tab content changes. */
#customer-profile-modal {
    width: min(1440px, calc(100vw - 80px));
    height: calc(100dvh - var(--header-height) - 28px);
    max-height: calc(100dvh - var(--header-height) - 28px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
#customer-profile-modal > .panel-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
#customer-profile-modal .customer-profile-modal-header {
    position: relative;
    top: auto;
    flex: 0 0 80px;
    height: 80px;
    min-height: 80px;
    box-sizing: border-box;
    padding: 12px 22px;
}
#customer-profile-modal .customer-profile-header-summary {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
#customer-profile-modal .customer-profile-header-summary h2 {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#customer-profile-modal .customer-profile-header-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px 9px;
    color: var(--text-muted);
    font-size: var(--fs-small);
}
#customer-profile-modal .customer-profile-header-risk {
    color: var(--text-secondary);
    font-weight: 600;
}
#customer-profile-modal .customer-profile-header-meta .badge {
    line-height: 1.25;
}
#customer-profile-modal .customer-profile-page-heading { margin-bottom: 0 !important; }
#customer-profile-modal .customer-profile-identity { display: none !important; }
#customer-profile-modal #customer-tabs-container { min-height: 100%; }

/* Risk is a compact review summary, not a sparse three-column billboard. */
#customer-profile-modal .risk-screening-card { max-width: none; }
.risk-screening-header {
    align-items: flex-start;
}
.risk-screening-header p {
    margin: 4px 0 0;
    color: var(--text-muted);
    font-size: var(--fs-small);
}
.risk-screening-last-run {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}
.risk-screening-last-run span,
.risk-screening-status > span,
.risk-screening-notes > span {
    color: var(--text-muted);
    font-size: var(--fs-micro);
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.risk-screening-last-run strong { font-size: var(--fs-small); }
.risk-screening-statuses {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-bottom: 1px solid var(--border-primary);
}
.risk-screening-status {
    min-width: 0;
    padding: 18px 20px;
    border-right: 1px solid var(--border-primary);
}
.risk-screening-status:last-child { border-right: 0; }
.risk-screening-status > div { margin: 8px 0 6px; }
.risk-screening-status small {
    display: block;
    color: var(--text-muted);
    font-size: var(--fs-small);
    line-height: 1.4;
}
.risk-screening-notes {
    padding: 16px 20px 18px;
    background: var(--bg-secondary);
}
.risk-screening-note {
    margin-top: 8px;
    color: var(--text-secondary);
    font-size: var(--fs-small);
    line-height: 1.5;
}
.risk-screening-note-muted { color: var(--text-muted); }
#customer-profile-modal .customer-provenance-tab {
    position: relative;
    flex: none;
    margin-left: 12px;
    padding-left: 24px;
    color: var(--accent-primary);
    font-weight: 700;
    white-space: nowrap;
}
#customer-profile-modal .customer-provenance-tab:hover,
#customer-profile-modal .customer-provenance-tab.active {
    color: var(--accent-primary);
    border-bottom-color: var(--accent-primary);
}
#customer-profile-modal .customer-provenance-tab::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 1px;
    background: var(--border-primary);
}
.customer-provenance-content,
.customer-provenance-body { min-width: 0; }
.customer-provenance-body .prov-profile-context {
    margin: 0 0 4px;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--border-primary);
}
.customer-provenance-body .prov-intro-copy {
    margin: 12px 0 20px;
    color: var(--text-muted);
    font-size: var(--fs-small);
}
