/* MeetMate calendar v001 — month grid, mobile agenda and external calendar actions */
.calendar-toolbar-actions{display:flex;align-items:center;gap:8px}
.calendar-today-button{min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#4f6279;font-size:.72rem;font-weight:800;cursor:pointer}
.calendar-today-button:hover,.icon-button:hover{border-color:#a9c8e7;color:var(--blue)}
.calendar-cell{min-height:118px;display:flex;flex-direction:column;align-items:stretch;gap:6px}
.calendar-day-number{align-self:flex-start;font-size:.72rem;font-weight:850}
.calendar-cell.selected-day{border-color:#7ab3eb;box-shadow:inset 0 0 0 1px #7ab3eb;background:#eef6ff}
.calendar-desktop-events{display:grid;gap:4px;margin-top:2px}
.calendar-event-chip{display:block;padding:4px 5px;border-radius:6px;background:#e5f1ff;color:#28689f;font-size:.56rem;font-weight:780;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-desktop-events small{color:#4f79a2;font-size:.52rem;font-weight:800}
.calendar-mobile-dots{display:none}
.calendar-link-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.calendar-agenda{max-height:320px;overflow:auto}
@media (max-width:820px){
  .calendar-toolbar h2{font-size:1rem}.calendar-today-button{display:none}
  .calendar-cell{min-height:52px;display:block;padding:5px}
  .calendar-desktop-events{display:none}.calendar-mobile-dots{display:block}
  .calendar-mobile-dots i{display:inline-block;width:6px;height:6px;margin:10px 3px 0 0;border-radius:50%;background:var(--blue)}
  .calendar-mobile-dots small{position:absolute;right:7px;bottom:7px;color:var(--blue);font-size:.52rem;font-weight:850}
  .calendar-link-row{grid-template-columns:1fr}
}
@media (max-width:520px){
  .calendar-toolbar{gap:6px}.calendar-toolbar h2{font-size:.92rem}
  .calendar-cell{min-height:46px;border-radius:8px}
  .calendar-mobile-dots i:nth-of-type(n+2){display:none}
}
.calendar-side-link{display:flex;align-items:center;min-height:42px;padding:0 13px;border-radius:11px;color:#617188;font-size:.78rem;font-weight:800}.calendar-side-link:hover{background:#f2f7fc;color:var(--blue)}.calendar-side-link.active{background:#eaf3ff;color:var(--blue)}
.calendar-filter-bar{display:grid;grid-template-columns:minmax(0,1fr) 190px 190px;gap:8px;margin:18px 0}.calendar-search{margin:0}.calendar-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr)}
.calendar-actions-enhanced{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.calendar-actions-label{margin-bottom:8px;color:#617188;font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.calendar-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.mobile-bottom-nav a{display:flex;flex:1;align-items:center;justify-content:center;color:#748397;font-size:.68rem;font-weight:800;text-decoration:none}.mobile-bottom-nav a.active{color:var(--blue)}
@media (max-width:1180px){.calendar-layout{grid-template-columns:1fr}.calendar-detail{position:relative;top:auto;max-height:none}}
@media (max-width:820px){.calendar-filter-bar{grid-template-columns:1fr 1fr}.calendar-search{grid-column:1/-1}.calendar-actions-grid{grid-template-columns:1fr}.calendar-detail{display:block!important;position:relative!important;inset:auto!important;border:1px solid var(--line)!important;border-radius:18px!important;padding:18px!important;box-shadow:var(--shadow-sm)!important}.calendar-page-shell .app-content{padding-bottom:92px}}
@media (max-width:520px){.calendar-filter-bar{grid-template-columns:1fr}}
