.calendar-toolbar{padding:18px 20px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.calendar-month-controls,.calendar-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.calendar-month-controls h3{margin:0;min-width:190px;text-align:center;font-size:1.25rem}
.calendar-month-controls .button{min-width:44px;min-height:44px}
.calendar-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;align-items:start}
.calendar-month-panel,.calendar-day-panel{padding:18px;min-width:0}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.calendar-weekdays{margin-bottom:6px;text-align:center;font-weight:700;color:#51645f}
.calendar-weekdays span{padding:8px 0}
.calendar-day{appearance:none;text-align:left;border:1px solid #dce6e1;border-radius:12px;background:#fff;min-height:94px;padding:8px;display:flex;flex-direction:column;gap:5px;cursor:pointer;color:#123b35}
.calendar-day:hover,.calendar-day:focus-visible{border-color:#287763;box-shadow:0 0 0 2px #28776333;outline:none}
.calendar-day.is-outside{opacity:.46}
.calendar-day.is-selected{border:2px solid #287763;background:#f0faf5}
.calendar-day.is-today .calendar-day-number{background:#123b35;color:white;border-radius:50%}
.calendar-day-number{display:inline-grid;place-items:center;width:30px;height:30px;font-weight:700}
.calendar-day-items{display:flex;flex-direction:column;gap:3px;width:100%}
.calendar-marker{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:5px;padding:3px 5px;font-size:.76rem;background:#e8f2ec;color:#174a40}
.calendar-marker.event{background:#fff0d7;color:#745005}.calendar-marker.deadline{background:#fbe9e6;color:#843b30}
.calendar-more{font-size:.72rem;color:#51645f}
.calendar-day-panel h3{margin:0 0 16px}
.calendar-agenda-item{border-top:1px solid #e3e9e5;padding:14px 0}
.calendar-agenda-item:first-child{border-top:0}
.calendar-agenda-item h4{margin:6px 0;font-size:1rem}
.calendar-agenda-item p{margin:4px 0;color:#52615a}
.calendar-agenda-item .item-actions{margin-top:10px}
.calendar-help{line-height:1.5;color:#51645f;margin:18px 0}
.mobile-app-panel{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:18px 0}
.mobile-app-panel h3{margin:7px 0}.mobile-app-panel p{margin:8px 0;line-height:1.5;max-width:680px}
.mobile-app-actions{display:flex;gap:10px;flex-wrap:wrap}
.mobile-app-actions .button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:900px){.calendar-layout{grid-template-columns:1fr}}
@media(max-width:600px){.calendar-toolbar{padding:14px}.calendar-month-controls{width:100%;justify-content:space-between}.calendar-month-controls h3{min-width:0;flex:1}.calendar-filters{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-filters .filter{white-space:nowrap}.calendar-month-panel,.calendar-day-panel{padding:10px}.calendar-weekdays,.calendar-grid{gap:2px}.calendar-day{min-height:64px;padding:4px;border-radius:7px}.calendar-day-number{width:26px;height:26px}.calendar-marker{font-size:.63rem;padding:2px 3px}.calendar-day-items .calendar-marker:nth-child(n+2){display:none}}
