/* FRONTERA ONE V1.5.7.15 — operation table alignment and client-side maintenance */

/* ===== Sample / Bulk / Courier table alignment ===== */
#samples .tablewrap,
#bulk .tablewrap,
#courier .tablewrap{
  border-top:1px solid #E5EAF0;
  scrollbar-gutter:stable;
}
#samples table.v1567-ops-table,
#bulk table.v1567-ops-table,
#courier table.v1567-ops-table{
  width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
  font-variant-numeric:tabular-nums lining-nums;
}
#samples table.v1567-ops-table thead th,
#bulk table.v1567-ops-table thead th,
#courier table.v1567-ops-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  box-sizing:border-box;
  height:58px;
  padding:8px 10px;
  vertical-align:middle;
  border-right:1px solid #E6EBF1;
  border-bottom:1px solid #D8E0E8;
  background:#F4F7FA;
  line-height:1.35;
}
#samples table.v1567-ops-table thead th:last-child,
#bulk table.v1567-ops-table thead th:last-child,
#courier table.v1567-ops-table thead th:last-child{
  border-right:0;
}
#samples table.v1567-ops-table tbody td,
#bulk table.v1567-ops-table tbody td,
#courier table.v1567-ops-table tbody td{
  box-sizing:border-box;
  min-height:64px;
  padding:10px;
  vertical-align:middle;
  border-right:1px solid #EEF2F6;
  border-bottom:1px solid #E7ECF2;
  line-height:1.5;
  overflow-wrap:anywhere;
  background:#fff;
}
#samples table.v1567-ops-table tbody td:last-child,
#bulk table.v1567-ops-table tbody td:last-child,
#courier table.v1567-ops-table tbody td:last-child{
  border-right:0;
}
#samples table.v1567-ops-table tbody tr:nth-child(even) td,
#bulk table.v1567-ops-table tbody tr:nth-child(even) td,
#courier table.v1567-ops-table tbody tr:nth-child(even) td{
  background:#FBFCFE;
}
#samples table.v1567-ops-table tbody tr.row:hover td,
#bulk table.v1567-ops-table tbody tr.row:hover td,
#courier table.v1567-ops-table tbody tr.row:hover td{
  background:#F3F7FB;
}
#samples table.v1567-ops-table .th-filter,
#bulk table.v1567-ops-table .th-filter{
  min-width:0;
  width:100%;
  gap:4px;
}
#samples table.v1567-ops-table .th-filter select,
#bulk table.v1567-ops-table .th-filter select{
  width:100%;
  min-width:0!important;
  max-width:100%;
  height:29px;
  padding:3px 24px 3px 7px;
  font-size:9px;
}
.v1567-align-left{text-align:left!important}
.v1567-align-center{text-align:center!important}
.v1567-align-right{text-align:right!important}
.v1567-nowrap{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
.v1567-wrap{white-space:normal!important;overflow-wrap:anywhere}
.v1567-number{font-variant-numeric:tabular-nums lining-nums;white-space:nowrap!important}
#samples table.v1567-ops-table .thumb,
#bulk table.v1567-ops-table .thumb,
#courier table.v1567-ops-table .thumb{
  margin:0 auto;
}
#samples table.v1567-ops-table .chip,
#bulk table.v1567-ops-table .chip,
#courier table.v1567-ops-table .chip{
  max-width:100%;
}
#samples table.v1567-ops-table td[data-v1564-col="nextAction"],
#bulk table.v1567-ops-table td[data-v1564-col="nextAction"],
#courier table.v1567-ops-table td[data-v1567-col="contents"]{
  max-width:none;
}
#courier table.v1567-ops-table .ocs-content-text{
  max-width:none;
  white-space:pre-wrap;
}
#courier table.v1567-ops-table .ocs-track-row{
  justify-content:flex-start;
}
.v1567-courier-order{min-width:180px}

/* ===== Maintenance panel ===== */
.v1567-maintenance-panel{grid-column:1/-1}
.v1567-maintenance-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px
}
.v1567-maintenance-head h3{margin:0;color:var(--navy)}
.v1567-maintenance-head p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.55}
.v1567-health-badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:92px;
  padding:6px 10px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap
}
.v1567-health-badge.idle{background:#F2F4F7;color:#667085;border:1px solid #D0D5DD}
.v1567-health-badge.checking{background:#EEF4FF;color:#175CD3;border:1px solid #B2CCFF}
.v1567-health-badge.ok{background:#ECFDF3;color:#067647;border:1px solid #ABEFC6}
.v1567-health-badge.warn{background:#FFFAEB;color:#B54708;border:1px solid #FEDF89}
.v1567-health-badge.bad{background:#FEF3F2;color:#B42318;border:1px solid #FECDCA}
.v1567-health-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0 12px
}
.v1567-health-item{
  display:flex;align-items:flex-start;gap:9px;min-height:72px;padding:11px;
  border:1px solid #E1E7EF;border-radius:11px;background:#FBFCFE
}
.v1567-health-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;background:#98A2B3;box-shadow:0 0 0 3px rgba(152,162,179,.12)}
.v1567-health-item.ok .v1567-health-dot{background:#12B76A;box-shadow:0 0 0 3px rgba(18,183,106,.12)}
.v1567-health-item.warn .v1567-health-dot{background:#F79009;box-shadow:0 0 0 3px rgba(247,144,9,.12)}
.v1567-health-item.bad .v1567-health-dot{background:#F04438;box-shadow:0 0 0 3px rgba(240,68,56,.12)}
.v1567-health-item b{display:block;color:#344054;font-size:10px}
.v1567-health-item small{display:block;color:#667085;font-size:8px;line-height:1.45;margin-top:4px;word-break:break-word}
.v1567-maintenance-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.v1567-maintenance-actions .btn{min-height:36px}
.v1567-maintenance-method{
  margin-top:13px;padding:11px 13px;border:1px solid #D9E2EC;border-radius:11px;
  background:#F8FAFC;color:#475467;font-size:9px;line-height:1.7
}
.v1567-maintenance-method b{color:var(--navy)}
.v1567-maintenance-meta{margin-top:8px;color:#667085;font-size:8px;line-height:1.5}
.v1567-recovery-bar{
  position:fixed;left:50%;bottom:18px;z-index:10050;transform:translateX(-50%);
  display:none;align-items:center;gap:10px;width:min(760px,calc(100vw - 28px));
  padding:10px 12px;border-radius:12px;border:1px solid #F1D59B;background:#FFF9EB;
  box-shadow:0 10px 30px rgba(16,24,40,.18);color:#7A4B00;font-size:9px
}
.v1567-recovery-bar.on{display:flex}
.v1567-recovery-bar span{flex:1;line-height:1.5}
.v1567-recovery-bar .btn{padding:6px 10px;font-size:9px;white-space:nowrap}
@media(max-width:1180px){.v1567-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
  .v1567-health-grid{grid-template-columns:1fr 1fr}
  .v1567-maintenance-head{align-items:center}
  .v1567-maintenance-actions .btn{flex:1 1 150px;justify-content:center}
  .v1567-recovery-bar{bottom:76px;flex-wrap:wrap}
  .v1567-recovery-bar span{flex:1 1 100%}
}
@media(max-width:520px){.v1567-health-grid{grid-template-columns:1fr}.v1567-health-badge{min-width:76px}}
