/* Generated year calendars, overlay switches and tool pages (planer, wniosek). Plain CSS, not compiled from SASS. */

.calendar-wrapper .calendar th.weekend { background: #FFCC99; color: #0000FF; }
.calendar-wrapper .calendar td.weekend { background: #FFCC99; color: #333; }
/* main.css forces #333 !important on cells without the legacy red bgcolor; this selector must out-rank it */
.calendar-wrapper .calendar table td.holiday[data-date][class] { background: #FF0000; color: #FFF !important; font-weight: 600; }
.calendar-wrapper .calendar td.tip { background: #FFFF99; color: #333; }
.calendar-wrapper .calendar td[title] { cursor: help; }
.calendar-wrapper .calendar td.ferie { box-shadow: inset 0 -4px 0 #7B1FA2; }
.calendar-wrapper .calendar td.moon, .calendar-wrapper .calendar td.has-names { position: relative; }
.calendar-wrapper .calendar td.has-names::before { content: "\25CF"; position: absolute; top: 1px; left: 4px; font-size: 13px; line-height: 1; color: #2E7D32; }
.calendar-wrapper .calendar td.holiday.has-names::before { color: #FFF; }
.calendar-wrapper .calendar td.moon::after { content: "\25CF"; position: absolute; top: 1px; right: 4px; font-size: 13px; line-height: 1; color: #1565C0; }
.calendar-wrapper .calendar td.holiday.moon::after { color: #FFF; }
.calendar .cal-detail { margin: 0.4em 0 0 0; padding: 0.3em 0.6em; background: #E3F2FD; border-left: 4px solid #1565C0; font-size: 0.9em; line-height: 1.4; }
.calendar-wrapper .calendar td[tabindex]:focus { outline: 2px solid #1565C0; outline-offset: -2px; }
.calendar .month-hours { color: #1565c0; font-size: 0.85em; margin: 4px 0 0 0; }
.calendar .rekomendacja { font-size: 0.85em; line-height: 1.4; margin: 0.4em 0 0 0; padding: 0.2em 0.5em; border-left: 6px solid #FFFF99; }

.cal-tools { margin: 0 0 1.2em 0; padding: 0.6em 1em; border: 1px solid #ddd; border-radius: 4px; background: #fafafa; }
.cal-tools .cal-switches { margin: 0; display: flex; flex-wrap: wrap; gap: 0.4em 1.4em; align-items: center; }
.cal-tools label { display: inline-flex; align-items: center; gap: 0.4em; cursor: pointer; margin: 0; }
.cal-tools input[type="checkbox"] { appearance: auto; -webkit-appearance: checkbox; opacity: 1; position: static; margin: 0; width: auto; height: auto; }
.cal-tools input:disabled + span, .cal-tools label:has(input:disabled) { color: #999; cursor: not-allowed; }
.cal-tools select { -webkit-appearance: menulist; appearance: menulist; width: auto; display: inline-block; padding: 0.2em 0.4em; height: auto; }
.cal-tools .cal-note { margin: 0.4em 0 0 0; font-size: 0.85em; color: #666; }
.cal-legend { font-size: 0.85em; margin: 0.4em 0 0 0; }
.cal-legend span { display: inline-block; width: 1em; height: 1em; vertical-align: middle; margin: 0 0.3em 0 0.8em; border: 1px solid #999; }

/* Planer urlopu */
.tool-panel { margin: 1em 0 1.5em 0; padding: 1em; border: 1px solid #ddd; border-radius: 4px; background: #fafafa; }
.tool-panel .controls { display: flex; flex-wrap: wrap; gap: 0.8em 1.6em; align-items: end; margin-bottom: 1em; }
.tool-panel .controls label { display: block; margin: 0 0 0.2em 0; font-weight: 600; }
.tool-panel select, .tool-panel input[type="number"], .tool-panel input[type="text"], .tool-panel input[type="date"] { width: auto; min-width: 8em; display: inline-block; height: auto; padding: 0.3em 0.5em; }
.tool-panel .totals { display: flex; flex-wrap: wrap; gap: 0.5em 1.5em; font-size: 1.05em; margin: 0.8em 0; }
.tool-panel .totals strong { color: #B71C1C; }
.planer-months { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1em; margin: 1em 0; }
.planer-months table { width: 100%; border-collapse: collapse; }
.planer-months caption { font-weight: 600; text-align: left; }
.planer-months th, .planer-months td { border: 1px solid #ccc; text-align: center; padding: 1px 0; font-size: 0.85em; color: #555; }
.planer-months td.weekend { background: #FFCC99; }
.planer-months td.holiday { background: #FF0000; color: #FFF; }
.planer-months td.leave { background: #43A047; color: #FFF; font-weight: 600; }
.planer-months td.pick { cursor: pointer; }
.planer-months td.pick:hover { outline: 2px solid #43A047; }
.planer-list { margin: 0.5em 0 1em 1.2em; }
.tool-error { color: #B71C1C; }

/* Wniosek o urlop */
.range-row { display: flex; flex-wrap: wrap; gap: 0.5em; align-items: center; margin: 0.3em 0; }
.wniosek-doc { background: #FFF; color: #000; border: 1px solid #ccc; padding: 2em; margin: 1em 0; font-family: Georgia, "Times New Roman", serif; line-height: 1.6; }
.wniosek-doc .right { text-align: right; }
.wniosek-doc h3 { text-align: center; margin: 1.5em 0; font-family: inherit; }
.wniosek-doc .sign { margin-top: 3em; text-align: right; }
.wniosek-doc .dots { color: #777; }

@media print {
	/* wniosek.js marks #wniosek's ancestors with .print-path; everything else is removed from the printout */
	body.print-wniosek *:not(.print-path):not(#wniosek):not(#wniosek *) { display: none !important; }
	body.print-wniosek .print-path { margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; width: auto !important; max-width: none !important; float: none !important; background: none !important; }
	body.print-wniosek #wniosek { border: 0; margin: 0; padding: 0; }
}

/* Imieniny */
.nameday-month tr.today td { background: #E8F5E9; font-weight: 600; }
#imieniny-dzis { padding: 0.8em 1em; border-left: 4px solid #2E7D32; background: #E8F5E9; }
.month-links { display: flex; flex-wrap: wrap; gap: 0.3em 0.9em; margin: 1em 0; }
.names-lead { font-size: 1.1em; }
.nameday-month td:first-child { white-space: nowrap; padding-right: 1em; }
