/* Kebarick V13.6.0 — final compact operations pass.
   Priority: reclaim roster/table workspace from identity columns and vertical whitespace.
   No fields are removed; overflow remains horizontally scrollable. */

/* =========================
   PEOPLE DIRECTORY / REGISTER
   ========================= */
#app:has(#peopleTable) .master-table-scroll th{
  height:34px!important;
  padding:5px 7px!important;
  font-size:9px!important;
  line-height:1.1!important;
}
#app:has(#peopleTable) .master-table-scroll td{
  height:38px!important;
  padding:4px 7px!important;
  font-size:10.5px!important;
  line-height:1.12!important;
}
#app:has(#peopleTable) .master-table-scroll:not(.master-register) td{
  height:41px!important;
}
#app:has(#peopleTable) .master-name{
  gap:6px;
  min-height:0;
}
#app:has(#peopleTable) .master-name .person-pic{
  width:27px;
  height:27px;
  min-width:27px;
  border-radius:7px;
  font-size:8px;
}
#app:has(#peopleTable) .master-name strong{font-size:10.5px;line-height:1.08}
#app:has(#peopleTable) .master-name small{margin-top:0;font-size:8.5px;line-height:1.08}

/* Detailed employee register: make the first working columns compact, while all fields remain available to the right. */
#app:has(#peopleTable) .master-register table{min-width:2580px}
#app:has(#peopleTable) .master-register th:first-child,
#app:has(#peopleTable) .master-register td:first-child{
  left:0!important;
  min-width:82px!important;
  width:82px!important;
  max-width:82px!important;
}
#app:has(#peopleTable) .master-register th:nth-child(2),
#app:has(#peopleTable) .master-register td:nth-child(2){
  left:82px!important;
  min-width:132px!important;
  width:132px!important;
  max-width:132px!important;
}
#app:has(#peopleTable) .master-register th:nth-child(3),
#app:has(#peopleTable) .master-register td:nth-child(3){
  min-width:138px!important;
  width:138px!important;
  max-width:138px!important;
}
#app:has(#peopleTable) .master-register td:nth-child(2),
#app:has(#peopleTable) .master-register td:nth-child(3){
  overflow:hidden;
  text-overflow:ellipsis;
}
#app:has(#peopleTable) .master-inline-name{
  display:block;
  max-width:118px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10.5px;
}
#app:has(#peopleTable) .master-actions .btn{min-height:27px;padding:4px 7px;font-size:9px}
#app:has(#peopleTable) .master-actions select{min-height:27px;padding:3px 5px;font-size:9px}

/* =========================
   DUTY ROSTER
   ========================= */
.monthly-roster-table th,
.monthly-roster-table td{
  height:36px!important;
  padding:2px 5px!important;
}
.monthly-roster-table thead th{
  height:36px!important;
  font-size:8.5px!important;
  line-height:1.02!important;
}
.monthly-roster-table thead th b{font-size:10px!important;line-height:1!important}
.monthly-roster-table thead th small{margin-top:1px!important;font-size:7.5px!important;line-height:1!important}

/* The three frozen identity columns should support the rota, not dominate it. */
.monthly-roster-table .employee-no{
  left:0!important;
  min-width:78px!important;
  width:78px!important;
  max-width:78px!important;
  padding-left:7px!important;
  padding-right:5px!important;
  font-size:8.8px!important;
  white-space:nowrap;
}
.monthly-roster-table .employee-name{
  left:78px!important;
  min-width:132px!important;
  width:132px!important;
  max-width:132px!important;
  padding-left:8px!important;
  padding-right:6px!important;
  overflow:hidden;
}
.monthly-roster-table .employee-position{
  left:210px!important;
  min-width:118px!important;
  width:118px!important;
  max-width:118px!important;
  padding-left:7px!important;
  padding-right:6px!important;
  font-size:9px!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.monthly-roster-table .employee-name strong{
  display:block;
  max-width:116px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9.8px!important;
  line-height:1.02!important;
}
.monthly-roster-table .employee-name small{
  display:block;
  max-width:116px;
  margin-top:1px!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:7.7px!important;
  line-height:1!important;
}

/* More of the month visible before horizontal scrolling. */
.monthly-roster-table th:not(.roster-sticky):not(.roster-total),
.monthly-roster-table td:not(.roster-sticky):not(.roster-total){
  min-width:52px!important;
  width:52px!important;
  max-width:52px!important;
  padding-left:3px!important;
  padding-right:3px!important;
}
.roster-code-table th:not(.roster-sticky):not(.roster-total),
.roster-code-table td:not(.roster-sticky):not(.roster-total){
  min-width:50px!important;
  width:50px!important;
  max-width:50px!important;
}
.roster-code{font-size:9.5px!important;line-height:1!important}
.roster-cell select{
  min-height:27px!important;
  height:27px!important;
  padding:2px 2px!important;
  font-size:9px!important;
}
.roster-cell>small{margin-top:1px!important;font-size:7px!important;line-height:1!important}
.monthly-roster-table .roster-total{
  min-width:60px!important;
  width:60px!important;
  max-width:60px!important;
  font-size:8.8px!important;
}

/* Department chrome follows the denser table. */
.roster-all-stack{gap:10px;padding:10px}
.roster-department-title{padding:7px 10px;min-height:42px}
.roster-department-title strong{font-size:11.5px}
.roster-department-title span{font-size:9px}
.roster-department-title .btn{min-height:29px;padding:5px 9px;font-size:9.5px}

@media(max-width:760px){
  .monthly-roster-table .employee-name{
    left:0!important;
    min-width:146px!important;
    width:146px!important;
    max-width:146px!important;
  }
  .monthly-roster-table .employee-name strong,
  .monthly-roster-table .employee-name small{max-width:132px}
  .monthly-roster-table .employee-no,
  .monthly-roster-table .employee-position{display:none}
}
