.production-calendar-page{gap:40px}.production-calendar-hero{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:radial-gradient(circle at 88% 14%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 34%), linear-gradient(135deg, color-mix(in srgb, var(--accent) 7%, var(--surface)), var(--surface));box-shadow:var(--shadow-sm);border-radius:28px;gap:16px;padding:clamp(24px,5vw,52px);display:grid}.production-calendar-hero .public-pill{width:fit-content;margin:0}.production-calendar-hero h1{letter-spacing:-.055em;max-width:820px;font-size:clamp(38px,6vw,68px);line-height:.98}.production-calendar-hero p{max-width:780px;color:var(--text-secondary);font-size:clamp(16px,2vw,19px);line-height:1.65}.production-calendar-notice{border:1px solid color-mix(in srgb, #f59e0b 32%, var(--border));background:color-mix(in srgb, #f59e0b 8%, var(--surface));border-radius:16px;grid-template-columns:auto 1fr;gap:8px 16px;padding:16px 18px;display:grid}.production-calendar-notice strong{color:color-mix(in srgb, #b45309 78%, var(--text))}.production-calendar-notice p{color:var(--text-secondary);font-size:14px;line-height:1.55}.production-calendar{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:24px;gap:20px;padding:clamp(16px,3vw,28px);display:grid}.production-calendar__header,.production-calendar__year-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.production-calendar__header h2{letter-spacing:-.035em;margin-top:5px;font-size:clamp(26px,4vw,40px)}.production-calendar__header p{color:var(--text-secondary);margin-top:5px;font-size:13px}.production-calendar__controls{align-items:end;gap:8px;display:flex}.production-calendar__controls .field{gap:4px}.production-calendar__controls .field span{font-size:11px}.production-calendar__controls select{min-width:132px;padding:9px 32px 9px 10px;font-size:13px}.production-calendar__hours-field select{min-width:126px}.production-calendar__nav-button{border:1px solid var(--border);background:var(--surface-muted);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.production-calendar__nav-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--accent-subtle);color:var(--accent-strong)}.production-calendar__nav-button:disabled{cursor:not-allowed;opacity:.35}.production-calendar__summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.production-calendar__summary>div{border:1px solid var(--border);background:var(--surface-muted);border-radius:14px;gap:4px;min-height:78px;padding:13px 15px;display:grid}.production-calendar__summary span{color:var(--text-secondary);font-size:12px;line-height:1.35}.production-calendar__summary strong{align-self:end;font-size:24px}.production-calendar__summary .production-calendar__summary-main{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));background:var(--accent-subtle)}.production-calendar__summary-main strong{color:var(--accent-strong)}.production-calendar__legend{color:var(--text-secondary);flex-wrap:wrap;gap:8px 16px;font-size:12px;display:flex}.production-calendar__legend span{align-items:center;gap:6px;display:inline-flex}.production-calendar__legend i{border:1px solid var(--border);background:var(--surface);border-radius:4px;width:13px;height:13px;display:inline-block}.production-calendar__legend .is-weekend{background:color-mix(in srgb, #f59e0b 14%, var(--surface))}.production-calendar__legend .is-holiday{background:color-mix(in srgb, #ef4444 15%, var(--surface))}.production-calendar__legend .is-transferred{background:color-mix(in srgb, #8b5cf6 15%, var(--surface))}.production-calendar__legend .is-shortened{border-color:color-mix(in srgb, var(--accent) 58%, var(--border));box-shadow:inset 0 -3px 0 var(--accent)}.production-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.production-calendar__row{display:contents}.production-calendar__weekday{color:var(--text-secondary);text-align:center;text-transform:uppercase;padding:5px;font-size:11px;font-weight:700}.production-calendar__day{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-content:space-between;min-height:94px;padding:10px;display:grid;position:relative;overflow:hidden}.production-calendar__day--blank{visibility:hidden}.production-calendar__day--weekend{background:color-mix(in srgb, #f59e0b 8%, var(--surface))}.production-calendar__day--holiday{border-color:color-mix(in srgb, #ef4444 24%, var(--border));background:color-mix(in srgb, #ef4444 9%, var(--surface))}.production-calendar__day--transferred{border-color:color-mix(in srgb, #8b5cf6 24%, var(--border));background:color-mix(in srgb, #8b5cf6 9%, var(--surface))}.production-calendar__day.is-shortened{box-shadow:inset 0 -4px 0 var(--accent)}.production-calendar__day-number{font-size:20px;font-weight:750}.production-calendar__day--holiday .production-calendar__day-number{color:color-mix(in srgb, #dc2626 76%, var(--text))}.production-calendar__day--transferred .production-calendar__day-number{color:color-mix(in srgb, #7c3aed 76%, var(--text))}.production-calendar__day small{color:var(--text-secondary);font-size:10px;line-height:1.3}.production-calendar__year-overview{border-top:1px solid var(--border);gap:14px;margin-top:4px;padding-top:20px;display:grid}.production-calendar__year-heading h3{letter-spacing:-.025em;margin-top:5px;font-size:clamp(20px,3vw,28px)}.production-calendar__year-heading>strong{color:var(--accent-strong);font-size:clamp(22px,3vw,32px)}.production-calendar__table-wrap{overflow-x:auto}.production-calendar__table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.production-calendar__table th,.production-calendar__table td{border-bottom:1px solid var(--border);text-align:right;padding:9px 12px}.production-calendar__table thead th{color:var(--text-secondary);font-size:11px;font-weight:600}.production-calendar__table th:first-child{text-align:left}.production-calendar__table tbody tr.is-active{background:var(--accent-subtle)}.production-calendar__table button{color:var(--text);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;font-weight:650;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.production-calendar__table button:hover{color:var(--accent-strong);text-decoration-color:currentColor}.production-calendar-content{max-width:940px}.production-calendar-content .public-button{width:fit-content}.production-calendar-sources,.production-calendar-actions{flex-wrap:wrap;gap:10px;display:flex}.production-calendar-sources a{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));background:var(--surface);color:var(--accent-strong);border-radius:10px;padding:10px 13px;font-size:13px;font-weight:650;text-decoration:none}.production-calendar-sources a:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.production-calendar-disclaimer{color:var(--text-secondary);font-size:12px;line-height:1.55}@media (max-width:900px){.production-calendar__header{flex-direction:column;align-items:stretch}.production-calendar__controls{justify-content:flex-start}.production-calendar__summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.production-calendar-page{gap:30px}.production-calendar-hero{border-radius:22px;padding:22px 16px}.production-calendar-hero h1{letter-spacing:-.04em}.production-calendar-notice{grid-template-columns:1fr}.production-calendar{border-radius:18px;margin-inline:-8px;padding:14px}.production-calendar__controls{grid-template-columns:40px minmax(0,1fr) 40px;display:grid}.production-calendar__month-field select,.production-calendar__hours-field select{width:100%;min-width:0}.production-calendar__hours-field{grid-column:1/-1}.production-calendar__summary{gap:7px}.production-calendar__summary>div{min-height:70px;padding:10px}.production-calendar__grid{gap:4px}.production-calendar__day{border-radius:8px;min-height:58px;padding:6px}.production-calendar__day-number{font-size:16px}.production-calendar__day small{display:none}.production-calendar__year-heading{flex-direction:column;align-items:start}}
