/* CCP Log Parser — plus views (shares card/chart styles with ctr-parser-plus.css) */
.km-ccp-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 8px; font: 400 12.5px var(--km-font); color: var(--km-muted); }
.km-ccp-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.km-ccp-lane { display: flex; height: 26px; border-radius: 6px; overflow: hidden; background: var(--km-surface-2); }
.km-ccp-lane span { display: block; height: 100%; min-width: 2px; border-right: 1px solid rgba(255,255,255,.5); }
.km-ccp-marks { position: relative; height: 14px; margin-top: 4px; }
.km-ccp-marks i { position: absolute; top: 2px; width: 10px; height: 10px; border-radius: 50%; transform: translateX(-50%); box-shadow: 0 0 0 2px var(--km-surface); }
.km-ccp-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 7px; }
.km-ccp-warnrow td, .km-ccp-warnrow th { background: rgba(220, 38, 38, .07) !important; }
.km-ccp-diff th, .km-ccp-diff td { background: rgba(217, 119, 6, .08) !important; }
.km-ccp-worse { color: #b91c1c !important; font-weight: 700; }
:root[data-theme="dark"] .km-ccp-worse { color: #f87171 !important; }
.km-ccp-filternote { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; background: var(--km-intro-bg); border-left: 4px solid var(--km-accent); border-radius: 8px; padding: 10px 14px; margin-bottom: 12px; font: 600 14px var(--km-font); color: var(--km-ink); }
.km-ctr-kpi.km-bad { border-top-color: #dc2626; }
.km-ctr-kpi.km-bad .v { color: #dc2626; }
#pane-quality .km-ctr-chart svg { height: 140px; }
.km-ccp-steps { counter-reset: s; list-style: none; padding: 0; margin: 10px 0 0; }
.km-ccp-steps li { counter-increment: s; position: relative; padding: 0 0 12px 40px; font: 400 15px/1.55 var(--km-font); color: var(--km-ink); }
.km-ccp-steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 26px; height: 26px; border-radius: 50%; background: var(--km-accent); color: #fff; font: 700 13px/26px var(--km-font); text-align: center; }
#pane-states .km-ctr-hbar, #pane-quality .km-ctr-hbar { grid-template-columns: minmax(90px, 30%) 1fr 72px; }

/* tables and inputs inside the new tabs follow the site theme in both modes */
[data-km-noadapt] .lat-table-wrap { background: var(--km-surface) !important; border: 1px solid var(--km-border) !important; border-radius: 12px; overflow: auto; }
[data-km-noadapt] .lat-table { width: 100%; background: transparent !important; }
[data-km-noadapt] .lat-table th { background: var(--km-surface-2) !important; color: var(--km-muted) !important; border-color: var(--km-border) !important; }
[data-km-noadapt] .lat-table td { background: transparent !important; color: var(--km-ink) !important; border-color: var(--km-border) !important; }
[data-km-noadapt] .lat-table tbody th { color: var(--km-ink) !important; font-weight: 600; }
[data-km-noadapt] .sec-title { color: var(--km-muted) !important; }
[data-km-noadapt] .ccp-textarea { background: var(--km-surface) !important; color: var(--km-ink) !important; border-color: var(--km-border-strong) !important; }
[data-km-noadapt] input[type=file] { color: var(--km-ink); }
[data-km-noadapt] .lat-table tr.km-ccp-warnrow td, [data-km-noadapt] .lat-table tr.km-ccp-warnrow th { background: rgba(220, 38, 38, .10) !important; }
[data-km-noadapt] .lat-table tr.km-ccp-diff td, [data-km-noadapt] .lat-table tr.km-ccp-diff th { background: rgba(217, 119, 6, .10) !important; }
