.pz-resposta { margin-bottom: 18px; }
.pz-faixa { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; margin: 0 0 14px; padding: 0; list-style: none; }
.pz-faixa__mes { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 58px; padding: 6px 2px; color: #4b5563; font-size: .85rem; background: #eef1f5; border: 1px solid transparent; border-radius: 8px; }
.pz-faixa__mes.is-aceso { color: #1f2937; font-weight: 700; background: #ffd24d; border-color: #b98900; }
.pz-faixa__mes strong { font-size: 1rem; }
.pz-lista { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; border: 1px solid #d9e4f0; border-radius: 12px; }
.pz-lista th, .pz-lista td { padding: 11px 14px; text-align: left; border-bottom: 1px solid #e6eef7; }
.pz-lista thead th { color: #143252; font-weight: 800; background: #e8f1fb; }
.pz-lista tbody th { font-weight: 600; }
.pz-lista tbody tr:last-child > * { border-bottom: 0; }
.pz-marca { display: inline-block; padding: 2px 8px; font-weight: 700; color: #1f2937; white-space: nowrap; background: #ffd24d; border-radius: 6px; }
.pz-vazio, .pz-recusa { margin: 0 0 12px; }
.pz-intencao { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 16px auto 18px; }
.pz-ressalva { margin: 16px 0 24px; font-size: .95rem; }
.pz-pers__op { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 6px; font-size: .9rem; }
.pz-pers__folgas { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: .9rem; }
.pz-pers select { width: 100%; }
.pz-pers fieldset { padding: 0; border: 0; }
.pz-legenda { display: flex; flex-wrap: wrap; gap: 8px 22px; justify-content: center; margin: 0 0 14px; padding: 0; list-style: none; font-size: .9rem; }
.pz-legenda li { display: flex; align-items: center; gap: 7px; }
.pz-amostra { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; font-weight: 700; border-radius: 4px; }
.pz-amostra--ferias { color: #1f2937; background: #ffd24d; }
.pz-amostra--feriado { color: #c81e14; background: #ffe5e3; }
.pz-amostra--descanso { color: #0b4f9e; background: #dbeafe; }
body.cal-year-wide #annual-calendar-container .calendar-day.pz-descanso,
body.cal-year-wide #annual-calendar-container .calendar-day.pz-ferias { position: relative; }
body.cal-year-wide #annual-calendar-container .calendar-day.pz-descanso:not(.holiday) { color: #0b4f9e; background: #dbeafe; }
body.cal-year-wide #annual-calendar-container .calendar-day.pz-ferias { color: #1f2937; font-weight: 700; background: #ffd24d; }
body.cal-year-wide #annual-calendar-container .calendar-day.pz-ferias::after { content: "F"; position: absolute; top: 0; right: 2px; font-size: .72em; font-weight: 800; line-height: 1.1; }
body.cal-year-wide #annual-calendar-container .calendar-day.pz-descanso::after { content: "•"; position: absolute; top: -2px; right: 2px; font-size: 1.1em; font-weight: 800; line-height: 1; }
@media (max-width: 600px) {
    .pz-resposta { margin-top: 16px; }
    .pz-faixa { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .pz-lista thead { display: none; }
    .pz-lista, .pz-lista tbody, .pz-lista tr { display: block; width: 100%; box-sizing: border-box; }
    .pz-lista tr { padding: 8px 0; border-bottom: 1px solid #e6eef7; }
    .pz-lista tbody tr:last-child { border-bottom: 0; }
    .pz-lista th, .pz-lista td { display: flex; width: 100%; box-sizing: border-box; justify-content: space-between; gap: 12px; padding: 4px 14px; border-bottom: 0; }
    .pz-lista [data-label]::before { content: attr(data-label); font-weight: 400; color: #4b5563; }
}
body.dark-mode .pz-faixa__mes { color: #cbd5e1; background: #1e293b; }
body.dark-mode .pz-faixa__mes.is-aceso { color: #1f2937; background: #ffd24d; }
body.dark-mode .pz-lista { color: #e5eef9; background: #111827; border-color: rgba(148,163,184,.18); }
body.dark-mode .pz-lista th, body.dark-mode .pz-lista td { color: #e5eef9; border-bottom-color: rgba(148,163,184,.12); }
body.dark-mode .pz-lista thead th { background: #1e293b; }
body.dark-mode .pz-lista [data-label]::before { color: #94a3b8; }
body.dark-mode .pz-amostra--descanso { color: #bfdbfe; background: rgba(59,130,246,.3); }
body.dark-mode .pz-amostra--feriado { color: #ff8a80; background: rgba(255,69,58,.18); }
body.cal-year-wide.dark-mode #annual-calendar-container .calendar-day.pz-descanso:not(.holiday) { color: #e0eeff; background: rgba(59,130,246,.42); }
body.cal-year-wide.dark-mode #annual-calendar-container .calendar-day.pz-ferias { color: #1f2937; background: #ffd24d; }
.pz-pers button[type="submit"] { padding: 9px 18px; font-weight: 700; color: #fff; background: #005bb5; border: 0; border-radius: 8px; cursor: pointer; }
body.cal-year-wide.dark-mode #annual-calendar-container .calendar-day.weekend:not(.holiday):not(.pz-descanso):not(.pz-ferias) { color: #ececf1; background: rgba(255,255,255,.16); }
body.cal-year-wide.dark-mode #annual-calendar-container .calendar-week-cell { color: #b4cdee; background: #22304a; }
body.cal-year-wide.dark-mode #annual-calendar-container .calendar-day.pz-descanso::after { color: #ffffff; font-size: 1.25em; }
