.gres-cal-wrap{max-width:980px}
.gres-cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}
.gres-cal-nav{display:flex;align-items:center;gap:8px}
.gres-cal-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ddd}
.gres-cal-table th,.gres-cal-table td{border:1px solid #ddd;vertical-align:top;padding:8px}
.gres-cal-table th{background:#f6f6f6}
.gres-cal-table td{height:120px}
.gres-cal-table td.is-empty{background:#fafafa}
.gres-cal-day{min-height:100px}
.gres-cal-daynum{font-weight:800;margin-bottom:6px}
.gres-cal-events{display:flex;flex-direction:column;gap:6px}
.gres-cal-ev{color:#000;text-decoration:none;font-size:12px;line-height:1.2}
.gres-cal-ev:hover{text-decoration:underline}
.gres-cal-loading,.gres-cal-error{padding:12px}
.gres-admin-note{color:#000;font-size:14px;line-height:1.4}



/* Scoped dark theme for calendar */
.gres-wrap.gres-theme-dark #gres-cal-panel,
.gres-wrap.gres-theme-dark #gres-cal {
  background: #0f172a !important;
  color: #e5e7eb !important;
}

.gres-wrap.gres-theme-dark .gres-cal-day,
.gres-wrap.gres-theme-dark .gres-cal-cell {
  border-color: #334155 !important;
}

.gres-wrap.gres-theme-dark .gres-cal-event {
  color: #e5e7eb !important;
}


/* Status color coding + legend */
.gres-cal-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0 10px;font-size:12px}
.gres-cal-legend-item{display:inline-flex;gap:6px;align-items:center}
.gres-cal-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.gres-cal-ev.gres-status-paid{color:#1a7f37 !important}
.gres-cal-ev.gres-status-pending{color:#b91c1c !important}
.gres-cal-ev.gres-status-awaiting{color:#2563eb !important}
.gres-cal-dot.gres-status-paid{background:#1a7f37}
.gres-cal-dot.gres-status-pending{background:#b91c1c}
.gres-cal-dot.gres-status-awaiting{background:#2563eb}
