.calendar-controls{display:flex;align-items:end;gap:8px;margin:18px 0 10px;max-width:100%}
.calendar-controls label{margin:0;min-width:0;flex:1;max-width:220px}
.calendar-controls input{width:100%;min-width:0;min-height:44px}
.calendar-controls>button{width:44px;height:44px;flex:none;border:1px solid var(--line);background:#fff;border-radius:6px;display:grid;place-items:center;cursor:pointer}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start}
.calendar-tool{min-width:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
.calendar-weekdays,#calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-weekdays span{font-size:12px;font-weight:700;padding:12px 0;text-align:center;background:#f0f3f2;color:var(--green)}
.calendar-cell{min-width:0;min-height:78px;padding:9px 4px;border:0;border-top:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;background:#fff;display:flex;align-items:center;flex-direction:column;gap:8px;cursor:pointer;font-size:14px;line-height:1.2}
.calendar-cell:nth-child(7n){border-right:0}
.calendar-cell:disabled{background:#f7f8f8;color:#929897;cursor:default}
.calendar-cell[aria-selected=true]{background:#fff4c5;box-shadow:inset 0 0 0 2px var(--green)}
.calendar-cell[data-today=true]>span:first-child{font-weight:800;text-decoration:underline}
.calendar-cell:focus-visible{outline:3px solid #111;outline-offset:-4px}
.calendar-marks{display:flex;align-items:center;justify-content:center;gap:3px;min-height:15px;font-size:10px;font-weight:700}
.calendar-dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block}
.calendar-dot.event{background:#be372b}.calendar-dot.worked{background:#394d77}
.calendar-day-agenda{min-width:0;border-top:2px solid var(--green);padding-top:16px}
.calendar-day-agenda h2{font-size:20px;line-height:1.35;margin:0 0 18px;overflow-wrap:anywhere}
.calendar-work-summary{display:flex;gap:22px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:8px}
.calendar-work-summary small{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.calendar-work-summary strong{font-size:18px;font-variant-numeric:tabular-nums}
.calendar-event-row{padding:18px 0;border-bottom:1px solid var(--line)}
.calendar-event-row button{padding:0;background:none;border:0;font-weight:700;text-align:left;font-size:16px;line-height:1.4;cursor:pointer;color:var(--green);overflow-wrap:anywhere}
.calendar-event-row time,.calendar-event-row small{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:7px;overflow-wrap:anywhere}
.calendar-form-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.calendar-form-dates>*{min-width:0}.calendar-form-dates input,.calendar-form-dates select{min-width:0;width:100%}
#calendar-event-form fieldset{min-width:0}#calendar-event-form summary{cursor:pointer;font-size:13px;margin-bottom:12px}
#calendar-event-form{min-width:0;width:100%}
#calendar-event-form>*{min-width:0}
#calendar-event-form input,#calendar-event-form select,#calendar-event-form textarea{min-width:0;max-width:100%;width:100%}
#calendar-event-form .scope-options input{width:20px}
#calendar-error{color:var(--red)}#calendar-source{min-height:22px}
@media(max-width:950px){.calendar-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){.calendar-controls{gap:5px}.calendar-controls>button{width:38px;height:44px}.calendar-cell{min-height:62px;font-size:13px;padding:8px 2px}.calendar-form-dates{grid-template-columns:minmax(0,1fr)}.calendar-marks{font-size:10px}.calendar-layout{gap:22px}}
@media(max-width:420px){
  .calendar-controls{display:grid;grid-template-columns:38px minmax(0,1fr) 38px}
  .calendar-controls label{grid-column:1/-1;grid-row:1;max-width:none}
  .calendar-controls [data-calendar-step="-1"]{grid-column:1;grid-row:2}
  .calendar-controls [data-calendar-step="1"]{grid-column:3;grid-row:2}
  #calendar-today{grid-column:2;grid-row:2;justify-self:center}
}
