/* HIPL HR Rev49 — scoped compact Koban master list. */
.kobanMasterCard { grid-column: 1 / -1; min-width: 0; }
.koban-compact { margin-top: 14px; min-width: 0; }
.koban-compact .kc-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; }
.koban-compact .kc-control { flex: 1 1 120px; min-width: 0; }
.koban-compact .kc-search { flex: 2 1 230px; }
.koban-compact .kc-page-size { flex: .6 1 105px; }
.koban-compact .kc-control label { margin: 0 0 4px; font-size: 11px; color: #536273; }
.koban-compact .kc-control input,
.koban-compact .kc-control select { width: 100%; min-width: 0; height: 35px; padding: 6px 8px; font-size: 12px; border-radius: 7px; }
.koban-compact button { min-height: 32px; padding: 5px 9px; border-radius: 7px; font-size: 12px; line-height: 1.25; }
.koban-compact button:disabled { opacity: .46; cursor: default; }
.koban-compact button:focus-visible,
.koban-compact input:focus-visible,
.koban-compact select:focus-visible,
.koban-compact .kc-table-wrap:focus-visible { outline: 2px solid #2f78c4; outline-offset: 2px; }
.koban-compact .kc-summary { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; justify-content: space-between; margin: 10px 0 4px; color: #536273; font-size: 12px; }
.koban-compact .kc-summary strong { color: #163a5f; }
.koban-compact .kc-reset { flex: 0 0 auto; }
.koban-compact .kc-match { margin: 5px 0 8px; font-size: 12px; color: #536273; }
.koban-compact .kc-results { min-width: 0; }
.koban-compact .kc-table-wrap { max-width: 100%; max-height: 520px; overflow: auto; border: 1px solid #dfe6ee; border-radius: 9px; background: #fff; scrollbar-gutter: stable; }
.koban-compact .kc-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.koban-compact .kc-table th,
.koban-compact .kc-table td { padding: 4px 9px; border-bottom: 1px solid #e7ebf0; text-align: left; vertical-align: middle; font-size: 12px; line-height: 1.3; overflow-wrap: anywhere; }
.koban-compact .kc-table th { position: sticky; top: 0; z-index: 1; background: #f3f6fa; color: #42556b; font-size: 11px; font-weight: 800; height: 31px; }
.koban-compact .kc-table tbody tr:last-child td { border-bottom: 0; }
.koban-compact .kc-table tbody tr:hover td { background: #f6f9fc; }
.koban-compact .kc-table .kc-inactive td { background: #f7f8fa; color: #667085; }
.koban-compact .kc-code-col { width: 20%; }
.koban-compact .kc-status-col { width: 82px; }
.koban-compact .kc-action-col { width: 63px; }
.koban-compact .kc-code { color: #163a5f; font-variant-numeric: tabular-nums; }
.koban-compact .kc-name { color: #25344b; }
.koban-compact .kc-status { display: inline-block; border-radius: 999px; padding: 3px 7px; line-height: 1.1; font-size: 10px; font-weight: 700; white-space: nowrap; }
.koban-compact .kc-active { color: #146642; background: #e7f5ee; }
.koban-compact .kc-status-inactive { color: #5b6572; background: #e7eaee; }
.koban-compact .kc-action,
.koban-compact .kc-action-heading { text-align: right !important; }
.koban-compact .kc-action button { min-width: 43px; min-height: 28px; padding: 4px 9px; }
.koban-compact .kc-pager { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; margin-top: 9px; }
.koban-compact .kc-range { font-size: 12px; color: #536273; }
.koban-compact .kc-pager-controls { display: flex; align-items: center; gap: 8px; }
.koban-compact .kc-page-position { font-size: 11px; color: #536273; white-space: nowrap; }
.koban-compact .kc-empty { border: 1px dashed #ced8e3; border-radius: 9px; padding: 20px 12px; background: #fafbfd; color: #667085; font-size: 13px; }
.koban-compact .kc-error { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; border: 1px solid #fecdca; border-radius: 9px; padding: 12px; background: #fff6f5; color: #a62a2a; font-size: 12px; overflow-wrap: anywhere; }
.koban-compact .kc-group-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-bottom: 9px; }
.koban-compact .kc-group-tools > span { flex: 1 1 220px; font-size: 11px; line-height: 1.4; color: #667085; }
.koban-compact .kc-group-tools > div { display: flex; gap: 6px; flex-wrap: wrap; }
.koban-compact .kc-groups { display: grid; gap: 7px; }
.koban-compact .kc-group { border: 1px solid #dfe6ee; border-radius: 9px; min-width: 0; overflow: hidden; }
.koban-compact .kc-group h4 { margin: 0; }
.koban-compact .kc-group-toggle { display: flex; width: 100%; align-items: center; gap: 8px; padding: 8px 10px; background: #f3f6fa; color: #163a5f; border-radius: 0; text-align: left; }
.koban-compact .kc-chevron { flex: 0 0 11px; font-size: 14px; }
.koban-compact .kc-group-name { flex: 1; min-width: 0; overflow-wrap: anywhere; line-height: 1.35; }
.koban-compact .kc-project-inactive { display: inline-block; font-weight: 400; color: #667085; font-size: 10px; margin-left: 7px; }
.koban-compact .kc-group-count { flex: 0 0 auto; padding: 3px 7px; background: #e2eaf3; border-radius: 999px; color: #284f74; font-size: 11px; font-variant-numeric: tabular-nums; }
.koban-compact .kc-group .kc-table-wrap { border: 0; border-radius: 0; max-height: 440px; }
.koban-compact .kc-group-pager { margin: 0; border-top: 1px solid #e7ebf0; padding: 7px 9px; }
.koban-compact .kc-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 760px) {
  .koban-compact .kc-search { flex-basis: 100%; }
  .koban-compact .kc-control:not(.kc-search) { flex: 1 1 calc(50% - 8px); }
  .koban-compact .kc-table-wrap { max-height: 480px; }
}
@media (max-width: 440px) {
  .koban-compact .kc-toolbar { gap: 7px; }
  .koban-compact .kc-control input,
  .koban-compact .kc-control select { height: 37px; font-size: 12px; padding: 6px; }
  .koban-compact .kc-table th,
  .koban-compact .kc-table td { padding: 6px 4px; font-size: 11px; }
  .koban-compact .kc-table th { font-size: 10px; }
  .koban-compact .kc-code-col { width: 21%; }
  .koban-compact .kc-status-col { width: 55px; }
  .koban-compact .kc-action-col { width: 48px; }
  .koban-compact .kc-status { padding: 3px 4px; font-size: 9px; }
  .koban-compact .kc-action button { min-width: 39px; min-height: 34px; padding: 6px 4px; font-size: 11px; }
  .koban-compact .kc-pager-controls { gap: 6px; }
  .koban-compact .kc-pager-controls button { min-height: 35px; }
  .koban-compact .kc-group-toggle { padding: 9px 7px; gap: 5px; }
  .koban-compact .kc-summary { font-size: 11px; }
}

