.vm-cal-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.vm-cal-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vm-cal-toolbar h2{margin-right:auto}.vm-cal-toolbar .search{width:340px;max-width:100%}.vm-cal-toolbar select{padding:10px;border:1px solid #b8cee7;border-radius:8px;background:white;color:#183956}.vm-cal-legend{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0;font-size:12px}.vm-cal-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:var(--cal-color)}.vm-cal-event{width:100%;display:flex;align-items:center;gap:16px;text-align:left;border:1px solid #d5e4f3;border-left:4px solid var(--cal-color);border-radius:8px;background:#f7fbff;color:#183956;padding:16px;margin-bottom:12px;cursor:pointer;font:inherit}.vm-cal-event:hover,.vm-cal-event.selected{background:#eaf4ff;border-color:#84b4e8}.vm-cal-date{font-size:13px;min-width:190px;max-width:270px}.vm-cal-main{flex:1}.vm-cal-main b,.vm-cal-main small{display:block}.vm-cal-main small{margin-top:5px;color:#54708c}.vm-cal-status{font-size:12px;border-radius:6px;background:white;padding:6px 9px;color:var(--cal-color)}.confirmed{--cal-color:#148453}.tentative{--cal-color:#ae7406}.pending{--cal-color:#af5521}.follow{--cal-color:#1765ae}.vm-cal-detail{position:fixed;right:0;top:76px;bottom:0;width:min(460px,100%);background:#fff;border-left:1px solid #c6d9ef;box-shadow:-8px 0 24px #173a6024;z-index:90;padding:24px;overflow-y:auto}.vm-cal-detail-head{display:flex;align-items:flex-start;gap:14px;justify-content:space-between}.vm-cal-detail h2{font-size:22px;overflow-wrap:anywhere}.vm-cal-detail dl{display:grid;grid-template-columns:145px 1fr;gap:12px;margin:24px 0}.vm-cal-detail dt{color:#58718b}.vm-cal-detail dd{margin:0;overflow-wrap:anywhere}.vm-cal-links{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.vm-cal-notes{white-space:pre-wrap;overflow-wrap:anywhere}.vm-cal-event:focus-visible{outline:3px solid #196abd;outline-offset:2px}@media(max-width:700px){.vm-cal-event{flex-wrap:wrap;gap:10px}.vm-cal-date{min-width:100%;max-width:100%}.vm-cal-toolbar .search{width:100%}.vm-cal-detail{top:60px;padding:18px}.vm-cal-detail dl{grid-template-columns:125px 1fr}.vm-cal-status{margin-left:auto}}

/* Calendar: 4 cards per row */
.vm-cal-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 1100px) {
  .vm-cal-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .vm-cal-list { grid-template-columns: 1fr; }
}

/* Fix content inside calendar cards */
.vm-cal-event {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
  min-height: 210px;
  height: auto;
  margin: 0;
  padding: 18px;
  box-sizing: border-box;
  text-align: left;
}
.vm-cal-date {
  min-width: 0;
  width: 100%;
  white-space: normal;
}
.vm-cal-main {
  min-width: 0;
  width: 100%;
  overflow-wrap: anywhere;
}
.vm-cal-main b {
  display: block;
  font-size: 18px;
}
.vm-cal-main small {
  display: block;
  line-height: 1.5;
}
.vm-cal-status {
  align-self: flex-start;
  max-width: 100%;
  white-space: normal;
  margin-top: auto;
}
.vm-cal-event > span[aria-hidden="true"] {
  display: none;
}
