.production-calendar{max-width:1180px;padding:24px 18px;margin:auto}.production-calendar h1{font-size:clamp(26px,4vw,40px)}.production-calendar p{line-height:1.6}.calendar-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:24px 0}.calendar-controls label{display:grid;gap:8px}.calendar-controls input,.calendar-controls select{font:inherit;padding:10px;border:1px solid #d8dbea;border-radius:10px;max-width:100%;box-sizing:border-box}.calendar-summary{display:flex;flex-wrap:wrap;gap:20px}.calendar-summary strong{font-size:28px;display:block}.calendar-note{padding:18px;background:var(--panel,#fff);border:1px solid var(--border,#e0e3ee);border-radius:16px;margin:20px 0}.calendar-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.calendar-month{background:var(--panel,#fff);border:1px solid var(--border,#e0e3ee);border-radius:16px;padding:16px;min-width:0}.calendar-month h2{font-size:19px;margin:0 0 16px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-weekdays{font-size:12px;margin-bottom:10px;opacity:.7}.calendar-day{padding:8px 2px;border-radius:8px;font-size:14px}.calendar-day.rest{color:#a32644;background:#fff0f3}.calendar-day.short{outline:1px solid #6752e8}.production-calendar :focus-visible{outline:3px solid #6752e8;outline-offset:3px}@media(max-width:900px){.calendar-months{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.calendar-months{grid-template-columns:minmax(0,1fr)}.calendar-controls label{width:100%}.calendar-controls input{width:100%}}@media print{.public-header,.public-footer,.calendar-controls{display:none}.calendar-months{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-month{break-inside:avoid}.production-calendar{padding:0}.calendar-day.rest{font-weight:bold;text-decoration:underline}}
