/* MINOCALE calendar skin. Layout, data handling and the other views are unchanged. */
body:has(#calendarView:not([style*="display: none"])) {
  --mc-paper: #f0f5ee;
  --mc-surface: #ffffff;
  --mc-soft: #f3f7f0;
  --mc-line: #dce7d9;
  --mc-ink: #244233;
  --mc-muted: #6c8172;
  --mc-primary: #245b43;
  --mc-on-primary: #ffffff;
  --mc-today: #f1f7e9;
  --mc-shadow: 0 10px 36px -18px #245b432b;
  background: var(--mc-paper);
  color: var(--mc-ink);
}
body.dark-mode:has(#calendarView:not([style*="display: none"])) {
  --mc-paper: #101e18;
  --mc-surface: #192c22;
  --mc-soft: #223b2c;
  --mc-line: #36523e;
  --mc-ink: #e4efe4;
  --mc-muted: #a4b9a6;
  --mc-primary: #b9ddbf;
  --mc-on-primary: #183824;
  --mc-today: #29432a;
  --mc-shadow: 0 10px 36px -18px #0008;
}
body:has(#calendarView:not([style*="display: none"])) > .container {
  background: var(--mc-surface) !important;
  border: 1px solid var(--mc-line);
  box-shadow: var(--mc-shadow) !important;
}
body:has(#calendarView:not([style*="display: none"])) .header-wrapper {
  border-bottom: 1px solid var(--mc-line);
  padding-bottom: 14px;
  margin-bottom: 14px;
}
body:has(#calendarView:not([style*="display: none"])) :is(.menu-btn, .header-top .btn-filter) {
  color: var(--mc-primary) !important;
  background: var(--mc-surface) !important;
  border-color: var(--mc-line) !important;
  box-shadow: none !important;
}
body:has(#calendarView:not([style*="display: none"])) #monthlyTotalDisplay {
  color: var(--mc-primary);
  background: var(--mc-soft);
  border: 1px solid var(--mc-line);
  border-radius: 10px;
  font-variant-numeric: tabular-nums;
  letter-spacing: .01em;
}
body:has(#calendarView:not([style*="display: none"])) .header-progress-bar {
  background: var(--mc-soft);
  border: 1px solid var(--mc-line);
  box-sizing: border-box;
}
body:has(#calendarView:not([style*="display: none"])) .header-progress-fill { background: #4d8660; }
body:has(#calendarView:not([style*="display: none"])) .header-progress-text { color: var(--mc-muted); }
body:has(#calendarView:not([style*="display: none"])) .bottom-nav {
  background: color-mix(in srgb, var(--mc-surface) 94%, transparent);
  border-color: var(--mc-line);
  box-shadow: 0 8px 28px -12px #245b4338;
}
body:has(#calendarView:not([style*="display: none"])) .bottom-nav-indicator:not(.is-dragging) {
  background: var(--mc-soft);
  border-color: var(--mc-line);
  box-shadow: none;
}
body:has(#calendarView:not([style*="display: none"])) .bottom-nav-item { color: var(--mc-muted); }
body:has(#calendarView:not([style*="display: none"])) .bottom-nav-item.active { color: var(--mc-primary); }
body:has(#calendarView:not([style*="display: none"])) #calendarView .quick-add-fab {
  background: #245b43;
  color: #fff;
  box-shadow: 0 7px 20px #245b4333;
}
#calendar {
  --fc-border-color: var(--mc-line, #e2e8f0);
  --fc-page-bg-color: var(--mc-surface, #fff);
  --fc-today-bg-color: var(--mc-today, #f1f7e9);
  color: var(--mc-ink, #244233);
  scrollbar-color: #b4cbb2 transparent;
}
#calendar .fc-header-toolbar { margin-bottom: 15px !important; }
#calendar .fc-toolbar-title { color: var(--mc-ink); font-weight: 600; letter-spacing: .015em; }
#calendar .fc-button-primary {
  color: var(--mc-primary) !important;
  background: var(--mc-surface) !important;
  border: 1px solid var(--mc-line) !important;
  box-shadow: none !important;
}
#calendar .fc-button-primary:not(:disabled):hover { background: var(--mc-soft) !important; }
#calendar .fc-today-button { color: var(--mc-primary) !important; background: var(--mc-soft) !important; opacity: 1; }
#calendar .fc-scrollgrid { border-radius: 13px; overflow: hidden; }
#calendar .fc-col-header-cell { background: var(--mc-soft); border-color: var(--mc-line); }
#calendar .fc-col-header-cell-cushion { color: var(--mc-muted); font-size: 12px; font-weight: 600; padding-block: 9px; }
#calendar .fc-daygrid-day { border-color: var(--mc-line); }
#calendar .fc-daygrid-day-number { color: var(--mc-muted); font-size: 12px; font-weight: 500; }
#calendar .fc-day-other .fc-daygrid-day-top { opacity: .35; }
#calendar .fc-day-today { box-shadow: inset 0 0 0 2px #709a65; }
#calendar .fc-day-today .fc-daygrid-day-number { font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
#calendar .fc-daygrid-day:not(.heatmap-active):hover { background: var(--mc-soft) !important; }
#calendar .fc-daygrid-day.heatmap-active:hover { filter: brightness(.97) !important; }
#calendar .fc-event:not(.planned-calendar-event):not(.fc-bg-event) { color: var(--mc-primary) !important; font-variant-numeric: tabular-nums; }
#calendar .fc-event:not(.fc-bg-event):hover { background: #245b4312 !important; }
#calendar .fc-daygrid-day.heatmap-active :is(.fc-daygrid-day-number, .fc-event, .fc-event-main, .fc-event-title) { color: var(--hm-text-light) !important; }
#calendar .fc-daygrid-day[data-heatmap-level="0"] { background: rgba(56, 161, 105, 0.15) !important; }
#calendar .fc-daygrid-day[data-heatmap-level="1"] { background: rgba(56, 161, 105, 0.35) !important; }
#calendar .fc-daygrid-day[data-heatmap-level="2"] { background: rgba(56, 161, 105, 0.55) !important; }
#calendar .fc-daygrid-day[data-heatmap-level="3"] { background: rgba(56, 161, 105, 0.8) !important; }
#calendar .fc-daygrid-day[data-heatmap-level="4"] { background: rgba(56, 161, 105, 1) !important; }
#calendar .fc-event.planned-calendar-event { background: var(--mc-surface) !important; border: 1px dashed #71976f !important; border-radius: 5px !important; }
#calendar .fc-event.planned-calendar-event :is(.fc-event-main, .fc-event-title) { color: var(--mc-primary) !important; }





body.dark-mode #calendar .fc-daygrid-day.heatmap-active :is(.fc-daygrid-day-number, .fc-event, .fc-event-main, .fc-event-title) { color: var(--hm-text-dark) !important; }
body.dark-mode #calendar .fc-daygrid-day.heatmap-active .planned-calendar-event :is(.fc-event-main, .fc-event-title) { color: var(--mc-primary) !important; }
body:has(#calendarView:not([style*="display: none"])) #calendarSettingsModal .btn-blue { background: var(--mc-primary); color: var(--mc-on-primary); border-color: var(--mc-primary); }
body:has(#calendarView:not([style*="display: none"])) #revenueModal .work-modal-content {
  color: var(--mc-ink);
  background: var(--mc-surface) !important;
  border-color: var(--mc-line);
}
body:has(#calendarView:not([style*="display: none"])) #revenueModal :is(.btn-blue, .planned-actions .btn-blue) {
  background: var(--mc-primary) !important;
  color: var(--mc-on-primary) !important;
  border-color: var(--mc-primary) !important;
}
body:has(#calendarView:not([style*="display: none"])) #revenueModal :is(.btn-gray, .close-btn) { color: var(--mc-primary); }
body:has(#calendarView:not([style*="display: none"])) :is(button, a, input, select):focus-visible { outline: 2px solid #60936d; outline-offset: 3px; }
@media(max-width:768px) {
  body:has(#calendarView:not([style*="display: none"])) .header-wrapper { padding-bottom: 10px; margin-bottom: 10px; }
  body:has(#calendarView:not([style*="display: none"])) #monthlyTotalDisplay { background: transparent; border: 0; }
  #calendar .fc-col-header-cell-cushion { font-size: 11px; padding-block: 7px; }
  #calendar .fc-header-toolbar { margin-bottom: 12px !important; }
}
