.cmp-pick{display:inline-flex;align-items:center;gap:.35rem;min-height:2.2rem;padding:0 .5rem;border:1px solid var(--line,#c9d1df);background:#fff;font:700 .75rem var(--label,Arial,sans-serif);text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
.cmp-pick:has(input:checked){border-color:var(--accent,#0b3ea8);background:#eaf0ff}
.cmp-pick input{width:1.05rem;height:1.05rem;accent-color:var(--accent,#0b3ea8)}
.cmp-tray{position:fixed;z-index:58;inset-inline:0;bottom:0;display:flex;gap:.6rem;align-items:center;justify-content:center;flex-wrap:wrap;padding:.55rem 1rem calc(.55rem + env(safe-area-inset-bottom));background:var(--accent,#0b3ea8);color:#fff;border-top:3px solid var(--signal,#c8102e);font:700 .85rem var(--label,Arial,sans-serif)}
.cmp-tray[hidden]{display:none}
.cmp-tray button{min-height:2.4rem;padding:.2rem 1rem;border:1px solid #fff;background:transparent;color:#fff;font:inherit;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}
.cmp-tray .cmp-open{background:#fff;color:var(--accent,#0b3ea8)}
.cmp-tray button:disabled{opacity:.55;cursor:not-allowed}
.cmp-tray button:focus-visible,.cmp-pick:focus-within,.cmp-dlg button:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
.cmp-dlg{width:min(96vw,74rem);max-height:90vh;padding:0;border:2px solid var(--accent,#0b3ea8);border-bottom-width:5px;background:#fff;color:var(--ink,#10131a)}
.cmp-dlg::backdrop{background:rgba(10,20,40,.6)}
.cmp-head{position:sticky;top:0;z-index:2;display:flex;gap:1rem;align-items:center;padding:.7rem 1rem;background:var(--accent,#0b3ea8);color:#fff}
.cmp-head h2{flex:1;margin:0;font:900 1.1rem var(--head,Arial,sans-serif);text-transform:uppercase}
.cmp-only-l{font:700 .8rem var(--label,Arial,sans-serif);cursor:pointer}
.cmp-x{min-width:2.4rem;min-height:2.4rem;border:1px solid #fff;background:transparent;color:#fff;font-size:1.3rem;cursor:pointer}
.cmp-wrap{overflow:auto;max-height:calc(90vh - 4rem)}
.cmp-table{display:table;width:100%;border-collapse:collapse;font:.88rem/1.45 var(--serif,Georgia,serif)}
.cmp-table th,.cmp-table td{padding:.55rem .7rem;border-bottom:1px solid var(--line,#c9d1df);border-inline-start:1px solid var(--line,#c9d1df);vertical-align:top;text-align:start;min-width:11rem;overflow-wrap:anywhere}
.cmp-table thead th{position:sticky;top:0;background:var(--paper-raised,#f2f5fa);font:800 .85rem var(--head,Arial,sans-serif)}
.cmp-table tbody th{min-width:7rem;width:7rem;background:var(--paper-raised,#f2f5fa);font:700 .72rem var(--label,Arial,sans-serif);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft,#343b4a)}
.cmp-diff td{background:#fff8e1}
.only-diff tbody tr:not(.cmp-diff){display:none}
.cmp-rm{margin-inline-start:.4rem;min-width:1.8rem;min-height:1.8rem;border:1px solid var(--line,#c9d1df);background:#fff;cursor:pointer}
.cmp-na{color:var(--ink-faint,#4a5263)}
.cmp-table td pre{margin:0;white-space:pre-wrap;font-size:.78rem}
@media print{.cmp-tray,.cmp-pick{display:none!important}}
