/* Compact comparison ledger. Width follows the selected period. */
.kc{max-width:1080px;min-width:0}
.kc-controls{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:0 0 16px;border-bottom:1px solid var(--line)}
.kc-controls .seg{gap:20px}
.kc-period-inputs{display:flex;align-items:center;gap:8px}
.kc-period-inputs .btn{padding:6px;min-width:26px}
.kc-period-inputs input{width:82px;padding:5px 7px}
.kc-period-inputs select,.kc-breakdown select{padding:5px 8px}
.kc-breakdown{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--sub)}
.kc-view-tabs{display:flex;gap:24px;margin:18px 0}
.kc-view-tabs button{font-size:14px;padding:5px 0}
.kc-person-picker label{display:flex;flex-direction:column;gap:5px;min-width:0}
.kc-person-picker label>span{font-size:11px;color:var(--sub)}
.kc-person-picker select{font:inherit;font-size:13px;min-height:34px;padding:5px 8px;border:1px solid var(--line2);background:var(--surface);color:var(--txt);max-width:100%}
.kc-person-picker{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:0 0 22px;max-width:750px}
.kc-person-picker label{width:320px;max-width:70%}
.kc-title{display:flex;gap:12px;align-items:baseline;margin:0 0 12px;min-height:26px}
.kc-title h2{font-size:17px;display:flex;gap:9px;align-items:baseline}
.kc-title h2 small{font-size:11px;font-weight:500;color:var(--sub)}
.kc-title>span{font-size:12px;color:var(--sub)}
.kc-title .kc-progress{margin-left:auto;color:var(--warn)}
.kc-table-scroll{width:var(--table-width);max-width:100%;overflow:auto;border-top:2px solid var(--txt);border-bottom:1px solid var(--line);max-height:64vh}
.kc-table{width:100%;min-width:var(--table-min-width);table-layout:fixed;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}
.kc-table .kc-name-col{width:142px}
.kc-table .kc-total-col{width:86px}
.kc-table .kc-average-col{width:74px}
.kc-table .kc-coverage-col{width:62px}
.kc-table .kc-date-col{width:88px}
.kc-table th,.kc-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle;background:var(--surface);line-height:1.45;overflow-wrap:anywhere}
.kc-table th{font-size:12px;font-weight:600}
.kc-table td{font-size:15px}
.kc-table thead th{position:sticky;top:0;z-index:2;background:var(--table-head);height:46px;white-space:nowrap}
.kc-table small{display:block;margin-top:3px;font-size:10px;color:var(--sub);font-weight:500;line-height:1.35}
.kc-table tbody th{white-space:normal}
.kc-table .kc-sticky{position:sticky;left:0;z-index:1;text-align:left;box-shadow:1px 0 var(--line)}
.kc-table thead .kc-sticky{z-index:3}
.kc-table tbody tr:hover>*{background:var(--hover)}
.kc-table .kc-total{font-weight:700;background:#f5f6f0}
.kc-table .kc-coverage{font-size:12px;color:var(--sub)}
.kc-table .kc-date{font-size:12px}
.kc-table .kc-future{color:var(--text3);background:#fafbf8}
.kc-table button{border:0;background:none;font:inherit;font-weight:600;color:inherit;padding:0;cursor:pointer}
.kc-table button:hover{text-decoration:underline;text-underline-offset:3px}
.kc-table button.kc-person-name{font-size:13px;letter-spacing:-.03em;text-align:left}
.kc-unavailable{color:var(--text3);font-weight:400}
.kc-table sup{font-size:10px;margin-left:2px;color:var(--warn)}
.kc-table small.kc-provisional{font-size:9px;color:var(--warn);white-space:nowrap}
.kc-table.kc-person-table tbody th{font-size:12px}
.kc-six-months .kc-table{min-width:600px}
.kc-six-months .kc-name-col{width:128px}
.kc-six-months .kc-total-col{width:74px}
.kc-six-months .kc-average-col{width:68px}
.kc-six-months .kc-coverage-col{width:60px}
.kc-six-months .kc-table th,.kc-six-months .kc-table td{padding-left:5px;padding-right:5px}
.kc-six-months .kc-table td{font-size:14px}
.kc-wide-months .kc-table{min-width:1050px}
.kc-table-notice{font-size:12px;margin:0 0 12px;color:var(--sub)}
.kc-other{margin-top:24px;max-width:580px}
.kc-other h3{font-size:14px;margin-bottom:10px}
.kc-other-table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}
.kc-other-table th,.kc-other-table td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left}
.kc-other-table thead th{color:var(--sub);font-size:11px;font-weight:500}
.kc-other-table tbody th{font-weight:600;width:42%}
.kc-other-table td:nth-child(2){font-size:15px;font-weight:600;width:25%}
.kc-other-table td small{font-size:10px;margin-left:6px;font-weight:500;color:var(--sub)}
.kc-note{font-size:11px;color:var(--sub);margin-top:12px;line-height:1.8}
.kc-details{margin-top:16px;font-size:12px;color:var(--sub);max-width:700px}
.kc-details summary{cursor:pointer;padding:7px 0}
.kc-details p{margin:8px 0 14px;font-size:11px}
.kc-details dl>div{display:grid;grid-template-columns:145px 1fr;gap:16px;padding:8px 0;border-top:1px solid var(--line)}
.kc-details dt{color:var(--txt);font-weight:600}
.kc-details dd{margin:0}
.kc-details dd span{display:block;margin-top:4px}
.kc-empty,.kc-loading,.kc-error{padding:35px 12px;color:var(--sub);font-size:13px}
.kc-error p{margin-bottom:12px}
.kc-eval-link{display:flex;justify-content:flex-end;padding-bottom:20px}
@media(max-width:1120px){.kc-controls{gap:16px}.kc-title{max-width:100%}}
@media(max-width:760px){.kc-controls{gap:12px}.kc-period-inputs{gap:6px}.kc-controls .seg{gap:18px}.kc-person-picker{align-items:start;flex-wrap:wrap}.kc-person-picker label{width:100%;max-width:100%}.kc-table .kc-name-col{width:128px}.kc-details dl>div{grid-template-columns:1fr;gap:3px}.kc-title .kc-progress{font-size:10px}}
/* Filters live in the table: the metric in its caption, attributes in the staff header. */
.kc-staff-table .kc-name-col{width:164px}
.kc-staff-table .kc-coverage-col{width:74px}
.kc-staff-table thead th{padding:10px 5px}
.kc-table-caption{caption-side:top;text-align:left;padding:14px 8px 12px;background:var(--surface);border-bottom:1px solid var(--line)}
.kc-caption-line{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.kc-caption-line>span{font-size:11px;color:var(--sub)}
.kc-caption-line .kc-progress{margin-left:auto;color:var(--warn)}
.kc-table .kc-metric-button{font-size:17px;font-weight:700;text-align:left}
.kc-metric-button span{font-size:13px;color:var(--sub)}
.kc-active-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px}
.kc-table .kc-active-filters button{font-size:10px;font-weight:500;background:#f1f2ec;padding:3px 6px;white-space:normal;text-align:left;max-width:100%}
.kc-active-filters button span{margin-left:3px;color:var(--sub)}
.kc-table .kc-active-filters .kc-clear-all{background:none;color:var(--sub);padding:3px}
.kc-caption-line+.kc-table-notice,.kc-active-filters+.kc-table-notice{margin:10px 0 0;font-size:11px}
.kc-staff-heading{margin:0 0 7px}
.kc-attribute-filters{display:flex;gap:8px;align-items:center}
.kc-table .kc-filter-button{display:inline-flex;gap:4px;align-items:center;justify-content:flex-end;vertical-align:middle}
.kc-table .kc-attribute-filters button{font-size:10px;font-weight:500;gap:2px}
.kc-table .kc-filter-icon{padding:3px 0 3px 4px;vertical-align:middle;line-height:1}
.kc-table .is-filtered{color:#625811;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#c7b83e}
.kc-table .is-filtered svg{fill:#e7dfab}
.kc-table .kc-person-attributes{color:var(--sub);font-size:10px;line-height:1.5}
.kc-retired{font-size:9px;font-weight:400;margin-left:5px;color:var(--sub)}
.kc-six-months .kc-staff-table{min-width:660px}
.kc-six-months .kc-staff-table .kc-coverage-col{width:68px}
.kc-six-months .kc-staff-table thead th{font-size:11px}
.kc-filter-pop{position:fixed;inset:auto;margin:0;width:300px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;padding:16px;border:1px solid var(--line2);box-shadow:0 6px 24px #20251b18;background:var(--surface);color:var(--txt);font-family:inherit;font-size:13px}
.kc-filter-pop [hidden]{display:none!important}
.kc-pop-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.kc-pop-title strong{font-size:14px}
.kc-pop-title button,.kc-pop-actions>button:first-child:not(.btn){border:0;background:none;color:var(--sub);font:inherit;cursor:pointer;padding:3px}
.kc-pop-title button{font-size:20px;line-height:1}
.kc-pop-field{display:flex;flex-direction:column;gap:6px;font-size:11px;margin:12px 0;color:var(--sub)}
.kc-filter-pop input:not([type=checkbox]),.kc-filter-pop select{font-family:inherit;font-size:13px;width:100%;min-width:0;padding:7px 8px;border:1px solid var(--line2);background:var(--surface);color:var(--txt)}
.kc-check-list{max-height:250px;overflow:auto}
.kc-check-list label{display:flex;align-items:center;gap:8px;padding:8px 2px;font-size:12px}
.kc-check-list input{accent-color:var(--txt);width:14px;height:14px;flex-shrink:0}
.kc-pop-help{font-size:11px;color:var(--sub);line-height:1.6;margin:8px 0}
.kc-rookie-rule{font-size:11px;line-height:1.8;padding:10px 0;border-top:1px solid var(--line);color:var(--sub)}
.kc-rookie-rule strong{color:var(--txt);font-weight:500}
.kc-number-range{display:flex;gap:12px;margin:12px 0}
.kc-number-range label{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--sub)}
.kc-pop-actions{display:flex;justify-content:flex-end;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.kc-pop-error{font-size:11px;color:var(--danger,#a43b32);line-height:1.6}
.kc-table button:focus-visible,.kc-filter-pop button:focus-visible{outline:2px solid var(--txt);outline-offset:3px}
