.calendar-year{display:inline-block;padding:12px 21px;border-radius:12px;background:#e2ecf6;border:1px solid #c8d9e9;font-size:1.75rem;letter-spacing:-1px;font-weight:700;color:#173e68}.calendar-notice{display:flex;flex-wrap:wrap;gap:8px 16px;padding:14px 18px;background:#fff0e1;border-radius:9px;color:#805026;font-size:.85rem;line-height:1.6;margin-bottom:22px}.calendar-legend{display:flex;flex-wrap:wrap;gap:20px 30px;padding:20px 22px;background:white;border:1px solid #e0e7ef;border-radius:12px;margin-bottom:15px}.calendar-legend>div{display:flex;gap:10px;align-items:center;font-size:.9rem}.calendar-legend small{font-size:.75rem;color:#738496;margin-top:3px}.calendar-key{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;font-size:.8rem;font-weight:700;border:1px solid transparent}.calendar-help{font-size:.85rem;margin-bottom:22px}.calendar-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.calendar-month{background:white;border:1px solid #dce5ee;border-radius:13px;padding:19px 16px}.calendar-month-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.calendar-month-heading h2{font-size:1.08rem;margin:0;color:#173e68}.calendar-month-heading>span{font-size:.75rem;color:#8a9bad}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{text-align:center;font-size:.75rem;font-weight:600;color:#74889a;margin-bottom:8px}.calendar-day{min-width:0;width:100%;height:40px;border:1px solid transparent;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:2px;font-size:.9rem;font-weight:650;line-height:1.15}.calendar-day small{font-size:.75rem;line-height:1;font-weight:600}.calendar-day:hover{filter:brightness(.94);box-shadow:0 2px 5px #173e6818}.calendar-day:focus-visible{outline:3px solid #173e68;outline-offset:2px;position:relative;z-index:1}.calendar-blank{height:40px}.cal-work{background:#d5efdf;color:#205d3b;border-color:#b6dfc5}.cal-holiday{background:#f9d9db;color:#982d39;border-color:#f0b5bb}.cal-vacation{background:#fff0a7;color:#775d0a;border-color:#ecd46f}.cal-cover{background:#e9ddfa;color:#673993;border-color:#d4baef}.cal-rest{background:#edf1f5;color:#647688;border-color:#dfe6ed}.calendar-today{outline:2px solid #173e68;outline-offset:1px}.calendar-detail-badge{display:inline-block;font-size:.95rem;padding:10px 15px;border-radius:8px;border-width:1px;border-style:solid;font-weight:600}@media(min-width:1550px){.calendar-day,.calendar-blank{height:44px}}@media(max-width:1200px){.calendar-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.calendar-year-grid{grid-template-columns:1fr}.calendar-month{padding:20px}.calendar-day,.calendar-blank{height:44px}.calendar-day{font-size:1rem}.calendar-day small{font-size:.75rem}.calendar-legend{gap:16px 20px;padding:17px}.calendar-legend>div{min-width:120px}.calendar-notice{font-size:.8rem}.calendar-year{font-size:1.4rem;padding:8px 16px}.calendar-weekdays{font-size:.8rem}}
.cal-sick{background:#ffe1cd;color:#854019;border-color:#eab996}.cal-personal{background:#d4e9ff;color:#235683;border-color:#a8ccea}.cal-union{background:#c9f0ee;color:#205f5b;border-color:#9cd6d1}
.cal-unset{background:#fff;color:#718396;border-color:#dce5ee}#worker-calendar .filters{align-items:end}#worker-calendar .filters label{flex:1;min-width:160px}#worker-calendar .filters input,#worker-calendar .filters select{width:100%;margin-bottom:0}#calendar-day-form{margin-top:20px}
.calendar-day,.calendar-blank{height:58px}.calendar-day .calendar-time{font-size:.65rem;line-height:1.2;margin-top:2px}.calendar-shift-detail{margin:16px 0;font-weight:600;color:#173e68}#calendar-shift-fields p{font-size:.8rem}#calendar-shift-fields[hidden]{display:none}@media(max-width:760px){.calendar-day,.calendar-blank{height:62px}}

.calendar-rest-warning{background:#fff1e8;color:#78310b;border:1px solid #df9c74;border-radius:10px;padding:12px;margin:12px 0}.calendar-rest-warning ul{margin:8px 0;padding-left:20px}.calendar-rest-conflict{outline:2px dashed #902b13;outline-offset:-3px}
.person-management-actions{min-width:280px}.person-management-actions button{margin:4px 8px 4px 0}

.calendar-day,.calendar-blank{height:78px}.calendar-job{font-weight:700;font-size:.65rem;line-height:1.2}.employment-periods{max-height:230px;overflow:auto}.employment-periods p{padding:8px 0;border-bottom:1px solid #e4e9ef}

.calendar-day,.calendar-blank{height:94px}.calendar-task{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:600}
