/* Grila de pontaj */

.grila-container {
  max-height: 75vh;
  overflow: auto;
}

.tabel-pontaj {
  background: #fff;
}

/* Prima coloană (salariatul) rămâne fixă la scroll orizontal */
.tabel-pontaj .col-salariat {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #fff;
  min-width: 15rem;
  max-width: 18rem;
}

.tabel-pontaj thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #f8f9fa;
}

.tabel-pontaj thead th.col-salariat {
  z-index: 4;
}

/* Celulele zilnice */
.celula-input {
  width: 3.1rem;
  border: 0;
  padding: 0.45rem 0.15rem;
  text-align: center;
  background: transparent;
  font-variant-numeric: tabular-nums;
}
.celula-input:focus {
  outline: 2px solid #0d6efd;
  outline-offset: -2px;
}

/* Weekend: galben pal; sărbătoare legală: roșu pal — editabile amândouă */
.zi-weekend { background-color: #fff8e1 !important; }
.zi-sarbatoare { background-color: #fde8e8 !important; }

/* Zile în afara perioadei de contract */
.zi-inactiva { background-color: #e9ecef !important; }
.zi-inactiva .celula-input { cursor: not-allowed; }

/* Feedback de salvare */
.celula-input.se-salveaza { background-color: #cfe2ff; }
.celula-input.salvata { background-color: #d1e7dd; transition: background-color 1.5s ease-out; }
.celula-input.eroare { background-color: #f8d7da; outline: 2px solid #dc3545; outline-offset: -2px; }

/* Celulă pictată, încă netrimisă la server */
.celula-input.nesalvata { background-color: #fff3cd; }

/* ------------------------------------------------------------------ */
/* Paleta de completare rapidă                                        */
/* ------------------------------------------------------------------ */
.paleta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0.75rem;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
}

.paleta-eticheta {
  font-weight: 600;
  font-size: 0.875rem;
  margin-right: 0.25rem;
}

.paleta-buton {
  min-width: 2.75rem;
  font-variant-numeric: tabular-nums;
}

/* Pensula activă: evidentă, ca să se vadă dintr-o privire ce se pictează */
.paleta-buton.activa {
  background-color: #0d6efd;
  border-color: #0d6efd;
  color: #fff;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.3);
}
.paleta-buton[data-guma].activa {
  background-color: #dc3545;
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.3);
}

.paleta-separator {
  width: 1px;
  align-self: stretch;
  background: #ced4da;
  margin: 0 0.35rem;
}

.paleta-ajutor { flex-basis: 100%; margin-top: 0.35rem; }

/* Cu pensula în mână: cursor de pictat și antete evident apăsabile */
.pensula-activa .celula-input:not([disabled]) { cursor: cell; }
.pensula-activa .tabel-pontaj thead th[data-umple-zi],
.pensula-activa .tabel-pontaj td[data-umple-salariat] { cursor: pointer; }
.pensula-activa .tabel-pontaj thead th[data-umple-zi]:hover,
.pensula-activa .tabel-pontaj td[data-umple-salariat]:hover {
  outline: 2px solid #0d6efd;
  outline-offset: -2px;
}

/* În timpul tragerii, browserul ar selecta textul din tabel. */
.se-picteaza, .se-picteaza * { user-select: none; }
