/* Staff: Cleaning checklist UI styles — mobile-first */

.staff-cl-container {
  padding: 0 0 16px;
}

/* Header with title + count */
.staff-cl-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 8px;
}
.staff-cl-header-title {
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-navy);
}
.staff-cl-header-count {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-gray-600);
}

/* Overall progress bar */
.staff-cl-progress-bar {
  height: 6px;
  background: var(--color-gray-200);
  border-radius: 3px;
  margin: 0 16px 12px;
  overflow: hidden;
}
.staff-cl-progress-fill {
  height: 100%;
  background: var(--color-navy);
  border-radius: 3px;
  transition: width .3s ease;
}
.staff-cl-progress-fill.complete {
  background: var(--color-success);
}

/* All done banner */
.staff-cl-done-banner {
  margin: 0 16px 12px;
  padding: 12px;
  background: var(--color-success-bg);
  border-radius: var(--radius-lg);
  text-align: center;
  font-weight: 700;
  font-size: var(--text-base);
  color: var(--color-success);
}

/* Group */
.staff-cl-group {
  margin: 0 12px 12px;
  background: #fff;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.staff-cl-group.done {
  opacity: .8;
}
.staff-cl-group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: color-mix(in srgb, var(--color-navy) 8%, #fff);
}
.staff-cl-group-label {
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--color-navy);
}
.staff-cl-group-count {
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--color-navy-light);
  background: rgba(255,255,255,.7);
  padding: 2px 8px;
  border-radius: var(--radius-pill);
}

/* Group progress bar (thin) */
.staff-cl-group-progress {
  height: 3px;
  background: var(--color-gray-200);
}
.staff-cl-group-progress-fill {
  height: 100%;
  background: var(--color-navy);
  transition: width .3s ease;
}
.staff-cl-group-progress-fill.complete {
  background: var(--color-success);
}

/* Item row */
.staff-cl-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--color-gray-100);
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: background .1s;
  min-height: 48px;
}
.staff-cl-item:active {
  background: color-mix(in srgb, var(--color-navy) 8%, #fff);
}
.staff-cl-item:last-child {
  border-bottom: none;
}
.staff-cl-item.checked {
  background: var(--color-success-bg);
}
.staff-cl-item.checked .staff-cl-item-label {
  text-decoration: line-through;
  color: var(--color-gray-400);
}

/* Checkbox area — large tap target */
.staff-cl-checkbox {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  flex-shrink: 0;
}

.staff-cl-item-label {
  font-size: var(--text-base);
  font-weight: 500;
  color: var(--color-gray-900);
  flex: 1;
}

/* Empty state */
.staff-cl-empty {
  text-align: center;
  color: var(--color-gray-400);
  padding: 24px 16px;
  font-size: var(--text-sm);
}
