.calendar-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,0.75fr);gap:19px}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.calendar-toolbar strong{font-size:17px;color:#223554;text-transform:none}
.calendar-nav{display:flex;gap:6px}.calendar-nav button{border:1px solid #dfe6f1;border-radius:8px;padding:7px 11px;background:#fff;color:#38527c;cursor:pointer}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.calendar-weekday{text-align:center;font-size:11px;font-weight:750;color:#72809a;padding:8px 0}
.calendar-day{border:1px solid #e9edf4;border-radius:10px;min-height:65px;background:#fff;text-align:left;padding:7px;display:flex;flex-direction:column;gap:5px;cursor:pointer;color:#263752}
.calendar-day:hover,.calendar-day:focus-visible{border-color:#8caafa;background:#f6f9ff}
.calendar-day.selected{background:#edf3ff;border:2px solid #487de5;padding:6px}
.calendar-day.today{box-shadow:inset 0 0 0 1px #66a2ed}
.calendar-day.empty{visibility:hidden;pointer-events:none}
.calendar-day span{font-size:12px;font-weight:720}.calendar-dots{display:flex;gap:3px;flex-wrap:wrap}
.calendar-dots i{display:block;width:6px;height:6px;border-radius:50%;background:#4777e4}.calendar-dots i.meeting{background:#9a6bda}.calendar-dots i.task{background:#da9540}
.calendar-dots i.followup{background:#10a77b;width:8px;height:8px}
.calendar-side{background:#f8faff;border:1px solid #e4eaf4;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}
.calendar-side h3{font-size:15px;color:#263853;margin:0}.calendar-event-list{display:grid;gap:8px;max-height:385px;overflow:auto}
.calendar-event{background:white;border:1px solid #e3e9f3;border-radius:11px;padding:11px;display:grid;gap:5px}
.calendar-event strong{font-size:13px;color:#1d2d49}.calendar-event small{color:#6c7c94;font-size:12px}
.calendar-event .v5-actions button{padding:5px 9px;font-size:11px}
.calendar-dialog{width:min(520px,calc(100vw - 24px));border:0;border-radius:18px;padding:24px;box-shadow:0 20px 70px #15234255}
.calendar-dialog::backdrop{background:#18213a8c}.calendar-dialog form{display:grid;gap:13px}
.calendar-dialog h2{margin:0;font-size:21px}.calendar-dialog label{display:grid;gap:6px;color:#334360;font-size:13px;font-weight:650}
.calendar-dialog input,.calendar-dialog select,.calendar-dialog textarea{width:100%;box-sizing:border-box;padding:11px;border:1px solid #d8e1ee;border-radius:9px;background:white;font:inherit;color:#263955}
.calendar-dialog footer{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}
@media(max-width:810px){.calendar-shell{grid-template-columns:1fr}}
@media(max-width:480px){.calendar-day{min-height:48px;padding:5px}.calendar-day.selected{padding:4px}.calendar-grid{gap:3px}.calendar-toolbar{flex-wrap:wrap}}
