/* Blod Bolge Premium overlay for Kalender. Loaded after the bundled calendar CSS. */

:root {
  /* Blod Bolge Kalender Palette */
  --bb-cream:          #FAF7F3;
  --bb-warm-text:      #5C4D43;
  --bb-warm-text-light:#8A7E72;
  --bb-muted:          #B8A898;
  --bb-divider:        #E4DCD4;
  --bb-white:          #FFFEFB;

  /* Kalender accent: SAGE (Calm-UX #1420) */
  --bb-sage:           #6E8A7E;
  --bb-sage-dark:      #4A7A68;
  --bb-sage-light:     rgba(110, 138, 126, 0.10);
  --bb-sage-bg:        rgba(110, 138, 126, 0.06);

  /* Muted warm for recurring / demoted controls */
  --bb-muted-warm:     #9A8E82;
  --bb-muted-warm-accessible: #7A6E62;
  --bb-rose:           #D4A89A;
  --bb-rose-dark:      #9B6050;
  --bb-rose-bg:        #FBF3F0;

  /* Fontstakke */
  --bb-font-sans:      var(--font-family);
  --bb-font-serif:     var(--font-family);

  /* Shadows */
  --bb-shadow-card:    0 1px 2px rgba(92,77,67,0.06), 0 4px 16px rgba(92,77,67,0.05), 0 12px 40px rgba(92,77,67,0.03), inset 0 1px 0 rgba(255,255,255,0.5);
  --bb-shadow-card-hover: 0 2px 4px rgba(92,77,67,0.08), 0 8px 28px rgba(92,77,67,0.08), 0 16px 48px rgba(92,77,67,0.04), inset 0 1px 0 rgba(255,255,255,0.6);
  --bb-shadow-input:   0 2px 8px rgba(92,77,67,0.06), 0 8px 32px rgba(92,77,67,0.04);
  --bb-shadow-cta:     0 4px 12px rgba(155, 96, 80, 0.18);
  --bb-shadow-cta-hover: 0 6px 18px rgba(155, 96, 80, 0.25);

  /* Radius */
  --bb-radius-card:    var(--radius-card, 18px);
  --bb-radius-pill:    var(--radius-pill, 999px);
  --bb-radius-input:   var(--radius-input, 12px);
}

/* ==========================================================================
   KATEGORI-FARVER - Warm Palette Override
   Trumfer bundle's kolde --cat-* variabler globalt.
   ========================================================================== */
:root,
.cal-body,
.cal-filter-popover,
.cal-drawer {
  --cat-personlig: #6E8A7E;
  --cat-moeder: #A8C5B8;
  --cat-arbejde: #4A7A68;
  --cat-deadline: #D4A89A;
  --cat-aflevering: #D4A89A;
  --cat-andet: #D4A060;
  --cat-google_cal: #6E8A7E;
  --cat-skole: #6E8A7E;
  --cat-grammatik: #A8C5B8;
  --cat-proeve: #8C7B6F;
}

html:has(.cal-main),
body:has(.cal-main) {
  background: var(--bb-cream) !important;
}

body:has(.cal-main) .app,
.app:has(.cal-main) {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 74% 18%, rgba(212, 168, 154, 0.055) 0%, transparent 48%),
    radial-gradient(ellipse at 22% 86%, rgba(168, 197, 184, 0.045) 0%, transparent 48%),
    linear-gradient(180deg, #FAF7F3 0%, var(--pill-bg, #F0EAE4) 100%) !important;
}

body:has(.cal-main) .app::before,
.app:has(.cal-main)::before {
  content: none;
  background-image: none;
  display: none;
  pointer-events: none;
  z-index: 0;
}

body:has(.cal-main) .app::after,
.app:has(.cal-main)::after {
  content: none !important;
  display: none !important;
}

.app:has(.cal-main) > .main-content,
.app:has(.cal-main) .cal-main,
.app:has(.cal-main) .cal-layout,
.app:has(.cal-main) .cal-body {
  background: transparent !important;
}

.app:has(.cal-main) > .main-content {
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  z-index: 1;
}

.cal-layout {
  position: relative;
  background: transparent !important;
  isolation: isolate;
  z-index: 1;
}

.cal-layout::before,
.cal-layout::after {
  content: none !important;
  display: none !important;
}

.app:has(.cal-main) .cal-main::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -80px;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  border: 1px solid rgba(212, 168, 154, 0.16);
  pointer-events: none;
  z-index: 0;
}

.app:has(.cal-main) .cal-main::after {
  content: '';
  position: absolute;
  top: -160px;
  right: -120px;
  width: 580px;
  height: 580px;
  border-radius: 50%;
  border: 1px solid rgba(212, 168, 154, 0.10);
  pointer-events: none;
  z-index: 0;
}

.app:has(.cal-main) .decorative-arcs {
  position: absolute;
  top: -200px;
  right: -160px;
  width: 660px;
  height: 660px;
  border-radius: 50%;
  border: 1px solid rgba(212, 168, 154, 0.12) !important;
  pointer-events: none;
  z-index: 0;
}

.app:has(.cal-main) .decorative-arcs-2 {
  position: absolute;
  top: -80px;
  right: -40px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  border: 1px solid rgba(212, 168, 154, 0.26) !important;
  pointer-events: none;
  z-index: 0;
}

.app:has(.cal-main) .decorative-arcs-bl {
  position: absolute;
  bottom: -190px;
  left: 38px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  border: 1px solid rgba(168, 197, 184, 0.09);
  pointer-events: none;
  z-index: 0;
}

.cal-body {
  background: transparent !important;
  color: var(--bb-warm-text);
  font-family: var(--bb-font-sans);
  z-index: 1;
}

/* Override legacy font leak fra bundle/responsive/dayview */
.cal-view-segmented,
.cal-view-segmented .cal-view-seg-btn,
.sk-m-btn,
.cal-body .fc-timegrid-slot-label,
.cal-body .fc-timegrid-axis-cushion,
.cal-body .fc-list-event-title,
.cal-body .fc-list-day-text,
.cal-body .fc-list-day-side-text {
  font-family: var(--bb-font-sans) !important;
}

.cal-body #calendar {
  position: relative;
  z-index: 1;
}

.cal-filter-popover {
  z-index: 200;
}
/* NL-bar must keep the absolute positioning from kalender-ai.css.
   Setting it to relative makes response cards push the calendar grid. */
.nl-bar {
  z-index: 100;
}

.cal-drawer-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 300 !important;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.cal-drawer-overlay.active {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.cal-body .fc {
  font-family: var(--bb-font-sans) !important;
}

.cal-body .fc-toolbar,
.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr {
  background: rgba(255, 254, 251, 0.88) !important;
  backdrop-filter: blur(20px) saturate(1.6) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.6) !important;
  border: 1px solid rgba(228, 220, 212, 0.72) !important;
  border-bottom-color: rgba(228, 220, 212, 0.40) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 42px rgba(92, 77, 67, 0.08), 0 2px 8px rgba(92, 77, 67, 0.04), inset 0 1px 0 rgba(255,255,255,0.68) !important;
  min-height: 76px !important;
  padding: 14px 24px !important;
  margin: 16px 24px 18px !important;
  position: relative !important;
  z-index: 10;
  flex-shrink: 0 !important;
}

/* Custom list view remains inside #calendar, but the scroll surface is
   positioned below the real toolbar by JS and leaves the NL-bar clear. */
.cal-list-view {
  background: transparent !important;
}

.cal-list-view__scroll {
  background: transparent !important;
  padding-bottom: calc(var(--mn-bar-height, 60px) + 80px) !important;
  min-height: 0 !important;
}

@media (max-width: 767px) {
  .cal-list-view__scroll {
    padding-bottom: calc(var(--mn-bar-height, 60px) + 72px) !important;
  }
}

.cal-lv-day__header {
  background: rgba(255, 254, 251, 0.85) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

.cal-lv-day__name {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
  text-transform: capitalize !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
}

.cal-lv-day__date {
  font-family: var(--bb-font-serif) !important;
  font-weight: 600 !important;
  color: var(--bb-warm-text) !important;
}

.cal-lv-event {
  background: rgba(255, 254, 251, 0.65) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(228, 220, 212, 0.4) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 3px rgba(92, 77, 67, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.cal-lv-event:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 8px rgba(92, 77, 67, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}

.cal-lv-event__time {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
  font-size: 13px !important;
}

.cal-lv-event__title {
  font-family: var(--bb-font-sans) !important;
  font-weight: 500 !important;
  color: var(--bb-warm-text) !important;
}

.cal-lv-event__chip,
.cal-lv-event__cat {
  font-family: var(--bb-font-sans) !important;
  font-size: 12px !important;
  color: var(--bb-warm-text-light) !important;
}

[data-theme="dark"] .cal-lv-day__header {
  background: rgba(30, 26, 23, 0.85) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-theme="dark"] .cal-lv-event {
  background: rgba(42, 36, 32, 0.7) !important;
  border-color: rgba(232, 224, 216, 0.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-theme="dark"] .cal-lv-day__name,
[data-theme="dark"] .cal-lv-event__time,
[data-theme="dark"] .cal-lv-event__chip,
[data-theme="dark"] .cal-lv-event__cat {
  color: var(--bb-dark-text-secondary, #C8BEB2) !important;
}

[data-theme="dark"] .cal-lv-day__date,
[data-theme="dark"] .cal-lv-event__title {
  color: var(--bb-dark-text-primary, #E8DDD4) !important;
}

.cal-body .fc-toolbar-title {
  font-family: var(--bb-font-serif) !important;
  font-size: 18px !important;
  font-weight: 650 !important;
  color: #3A2F26 !important;
  letter-spacing: 0 !important;
  line-height: 1.08;
}

.cal-body .fc-header-toolbar .fc-toolbar-chunk {
  gap: 12px !important;
  align-items: center !important;
}

.cal-body .fc-header-toolbar .fc-toolbar-chunk:last-child {
  gap: 14px !important;
}

.cal-body .fc-header-toolbar .fc-button,
.cal-body .fc-header-toolbar .gcal-connect-btn {
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cal-body .fc-prev-button,
.cal-body .fc-next-button {
  color: var(--bb-warm-text-light) !important;
  width: 44px !important;
  min-width: 44px !important;
  border-radius: 12px !important;
}

.cal-body .fc-prev-button:hover,
.cal-body .fc-next-button:hover {
  background: rgba(110, 138, 126, 0.10) !important;
  color: var(--bb-warm-text) !important;
}

.cal-body .fc-today-button,
.cal-body .fc-today-button.fc-button,
.cal-body .fc-today-button.fc-button.fc-button-primary {
  font-family: var(--bb-font-sans) !important;
  border: 1px solid var(--bb-divider) !important;
  color: var(--bb-warm-text) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
}

.cal-body .fc-today-button:hover:not(:disabled) {
  background: var(--bb-sage-light) !important;
  border-color: var(--bb-sage) !important;
  color: var(--bb-sage-dark) !important;
}

/* #2938: neutral outlined so only "Ny begivenhed" reads as the primary action. */
.cal-body .fc-viewDropdown-button,
.cal-body .fc-viewDropdown-button.fc-button,
.cal-body .fc-viewDropdown-button.fc-button.fc-button-primary {
  background: rgba(255, 254, 251, 0.74) !important;
  color: var(--bb-warm-text) !important;
  border: 1px solid var(--bb-divider) !important;
  border-radius: 10px !important;
  font-family: var(--bb-font-sans) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: background 0.15s ease, border-color 0.15s ease !important;
}

.cal-body .fc-viewDropdown-button:hover {
  background: var(--bb-sage-light) !important;
  border-color: var(--bb-sage) !important;
  color: var(--bb-sage-dark) !important;
}

.cal-body .fc-filterCats-button,
.cal-body .fc-filterCats-button.fc-button,
.cal-body .fc-filterCats-button.fc-button.fc-button-primary {
  border: 1px solid var(--bb-divider) !important;
  color: var(--bb-warm-text) !important;
  border-radius: 10px !important;
  font-family: var(--bb-font-sans) !important;
  background: rgba(255, 254, 251, 0.74) !important;
}

.cal-body .fc-filterCats-button:hover {
  background: var(--bb-sage-light) !important;
  border-color: var(--bb-sage) !important;
  color: var(--bb-sage-dark) !important;
}

.gcal-connect-btn,
.gcal-toolbar-gear-btn {
  height: 32px !important;
  min-height: 32px !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: var(--bb-muted-warm-accessible) !important;
  background: transparent !important;
}

.gcal-connect-btn:hover,
.gcal-toolbar-gear-btn:hover {
  background: rgba(154, 142, 130, 0.08) !important;
  color: var(--bb-warm-text) !important;
}

.cal-body .fc-addEvent-button,
.cal-body .fc-addEvent-button.fc-button,
.cal-body .fc-addEvent-button.fc-button.fc-button-primary {
  background: var(--bb-sage) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 13.5px !important;
  font-weight: 650 !important;
  box-shadow: 0 4px 12px rgba(110, 138, 126, 0.22) !important;
}

.cal-body .fc-addEvent-button:hover {
  background: var(--bb-sage-dark) !important;
  box-shadow: 0 6px 18px rgba(110, 138, 126, 0.30) !important;
  opacity: 1 !important;
}

.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-button {
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
  line-height: 34px !important;
}

.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .gcal-connect-btn {
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 8px !important;
  font-size: 12.5px !important;
  line-height: 30px !important;
}

.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-today-button {
  min-width: 72px !important;
  padding: 0 18px !important;
}

.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-prev-button,
.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-next-button {
  width: 44px !important;
  min-width: 44px !important;
  padding: 0 !important;
}

.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button {
  min-width: 82px !important;
  padding: 0 18px !important;
}

.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-viewDropdown-button {
  min-width: 108px !important;
  padding: 0 20px !important;
}

.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-addEvent-button {
  min-width: 176px !important;
  padding: 0 22px !important;
}

.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .gcal-connect-wrap {
  margin-right: 8px !important;
}

.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .gcal-connect-btn {
  min-width: 90px !important;
  padding: 0 12px !important;
  border: none !important;
  border-radius: 8px !important;
}

.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .gcal-connect-dismiss,
.gcal-connect-dismiss {
  display: none !important;
}

/* FullCalendar view surface */
.cal-body .fc {
  --bb-cal-grid-line: rgba(0, 0, 0, 0.055);
  --bb-cal-grid-line-soft: rgba(228, 220, 212, 0.40);
  overflow: visible !important;
}

.cal-body .fc-view-harness,
.cal-body .fc-view-harness.fc-view-harness-active {
  width: auto !important;
  margin: 0 24px 0 !important;
  border: 1px solid rgba(228, 220, 212, 0.40) !important;
  border-radius: 18px !important;
  background: rgba(255, 254, 251, 0.58) !important;
  box-shadow: 0 1px 2px rgba(92,77,67,0.04), 0 12px 36px rgba(92,77,67,0.045), inset 0 1px 0 rgba(255,255,255,0.54) !important;
  overflow: visible !important;
  position: relative !important;
  isolation: isolate;
  z-index: 1 !important;
}

.cal-body .fc-view-harness > .fc-view {
  border-radius: inherit !important;
  background: transparent !important;
  overflow: visible !important;
}

.cal-body .fc-view-harness:has(.fc-dayGridMonth-view),
.cal-body .fc-view-harness.fc-view-harness-active:has(.fc-dayGridMonth-view) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cal-body .fc-theme-standard .fc-scrollgrid,
.cal-body .fc-scrollgrid {
  border: 0 !important;
  border-radius: 18px !important;
  background: rgba(255, 254, 251, 0.46) !important;
  overflow: hidden !important;
}

.cal-body .fc-dayGridMonth-view .fc-scrollgrid {
  border-radius: var(--bb-radius-card) !important;
  background: transparent !important;
  overflow: visible !important;
}

.cal-body .fc-scrollgrid table,
.cal-body .fc-col-header,
.cal-body .fc-daygrid-body,
.cal-body .fc-scrollgrid-sync-table,
.cal-body .fc-timegrid-body,
.cal-body .fc-timegrid-body table {
  background: transparent !important;
}

.cal-body .fc-scrollgrid-section-header > th,
.cal-body .fc-scrollgrid-section-body > td {
  border-color: var(--bb-cal-grid-line) !important;
}

.cal-body .fc-dayGridMonth-view .fc-scrollgrid-section-header,
.cal-body .fc-dayGridMonth-view .fc-scrollgrid-section-header > th,
.cal-body .fc-dayGridMonth-view .fc-scrollgrid-section-header .fc-scroller-harness,
.cal-body .fc-dayGridMonth-view .fc-scrollgrid-section-header .fc-scroller,
.cal-body .fc-dayGridMonth-view .fc-col-header,
.cal-body .fc-dayGridMonth-view .fc-col-header-cell {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.cal-body .fc-dayGridMonth-view .fc-scrollgrid-section-header > th {
  height: 44px !important;
  padding: 0 !important;
  border-radius: var(--bb-radius-card) var(--bb-radius-card) 0 0 !important;
  overflow: hidden !important;
}

.cal-body .fc-col-header-cell-cushion {
  font-family: var(--bb-font-serif) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--bb-warm-text-light) !important;
  text-transform: capitalize !important;
  letter-spacing: 0 !important;
}

.cal-body .fc-dayGridMonth-view .fc-col-header-cell-cushion {
  display: block !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  color: var(--bb-muted-warm-accessible) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.10em !important;
  padding: 0 !important;
  text-decoration: none !important;
}

.cal-body .fc-col-header-cell {
  height: 44px !important;
  padding: 12px 0 10px !important;
  background: rgba(255, 254, 251, 0.22) !important;
  border-bottom: 1px solid var(--bb-cal-grid-line-soft) !important;
}

.cal-body .fc-dayGridMonth-view .fc-col-header-cell {
  height: 44px !important;
  padding: 0 0 14px !important;
  vertical-align: bottom !important;
}

.cal-body .fc-scrollgrid td,
.cal-body .fc-scrollgrid th {
  border-color: rgba(0, 0, 0, 0.06) !important;
}

.cal-body .fc-dayGridMonth-view .fc-scrollgrid-section-body > td {
  border: 0 !important;
  border-radius: var(--bb-radius-card) !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.cal-body .fc-dayGridMonth-view .fc-daygrid-body,
.cal-body .fc-dayGridMonth-view .fc-scrollgrid-sync-table {
  border-radius: var(--bb-radius-card) !important;
}

.cal-body .fc-dayGridMonth-view .fc-scrollgrid-sync-table {
  border-collapse: separate !important;
  border-spacing: 5px !important;
}

/* #3721: all-other-rows rule removed — fixedWeekCount:false + JS module hides them */

.cal-body .fc-daygrid-day {
  background: rgba(255, 254, 251, 0.34) !important;
  border-color: rgba(228, 220, 212, 0.4) !important;
  transition: background 0.15s ease, box-shadow 0.15s ease !important;
}

.cal-body .fc-dayGridMonth-view .fc-daygrid-day {
  border: 1px solid rgba(228, 220, 212, 0.44) !important;
  border-radius: var(--bb-radius-card) !important;
  background: rgba(255, 254, 251, 0.72) !important;
  background-clip: padding-box !important;
  overflow: hidden !important;
}

.cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-sat,
.cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-sun {
  background: rgba(250, 247, 243, 0.76) !important;
}

.cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-today,
.cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-today.fc-day-sat,
.cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-today.fc-day-sun {
  background: rgba(110, 138, 126, 0.06) !important;
  border-color: rgba(110, 138, 126, 0.18) !important;
  /* #2938: soft sage inset ring marks today as the anchor (date badge untouched). */
  box-shadow: inset 0 0 0 1.5px rgba(110, 138, 126, 0.32) !important;
}

.cal-body .fc-theme-standard .fc-scrollgrid,
.cal-body .fc-scrollgrid,
.cal-body .fc-scrollgrid td,
.cal-body .fc-scrollgrid th {
  border-color: rgba(228, 220, 212, 0.4) !important;
}

.cal-body .fc-daygrid-day-frame {
  min-height: 108px !important;
  padding: 0 8px 10px !important;
}

.cal-body .fc-dayGridMonth-view .fc-daygrid-day-frame {
  min-height: 92px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: inherit !important;
  overflow: hidden !important;
  padding: 0 6px 4px !important;
}

.cal-body .fc-daygrid-day-top {
  justify-content: flex-end !important;
  min-height: 36px !important;
}

.cal-body .fc-dayGridMonth-view .fc-daygrid-day-top {
  flex-shrink: 0 !important;
  min-height: 0 !important;
}

.cal-body .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
  background: var(--bb-sage) !important;
  color: #fff !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 8px rgba(110, 138, 126, 0.22) !important;
  margin: 7px 7px 0 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.cal-body .fc-daygrid-day-number {
  font-family: var(--bb-font-sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--bb-warm-text) !important;
  padding: 10px 10px 0 0 !important;
  line-height: 28px !important;
  font-variant-numeric: tabular-nums !important;
}

.cal-body .fc-dayGridMonth-view .fc-daygrid-day-number {
  font-size: 13.5px !important;
  padding: 6px 8px 0 0 !important;
  line-height: 1 !important;
}

.cal-body .fc-day-other .fc-daygrid-day-number {
  color: var(--bb-muted) !important;
}

.cal-body .fc-daygrid-day-events {
  margin: 0 0 0 !important;
  padding: 0 !important;
}

.cal-body .fc-daygrid-event-harness {
  margin: 0 0 4px !important;
}

.cal-body .fc-dayGridMonth-view .fc-daygrid-day-events {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.cal-body .fc-dayGridMonth-view .fc-daygrid-event-harness::before,
.cal-body .fc-dayGridMonth-view .fc-daygrid-event-harness::after {
  display: none !important;
}

.cal-body .fc-dayGridMonth-view .fc-daygrid-more-link {
  min-height: 0 !important;
  font-size: 12px !important;
  padding: 2px 4px !important;
  line-height: 1.2 !important;
}

.cal-body .fc-daygrid-day:hover {
  background: rgba(250, 247, 243, 0.60) !important;
}

.cal-body .fc-dayGridMonth-view .fc-daygrid-day:hover {
  background: #FBF8F2 !important;
}


.cal-body .fc-daygrid-day.fc-day-other:not(.fc-day-sat):not(.fc-day-sun) {
  background: rgba(255, 254, 251, 0.54) !important;
}

.cal-body .fc-popover.fc-more-popover {
  z-index: 1000 !important;
}

.cal-body .fc-timegrid-slot,
.cal-body .fc-timegrid-col,
.cal-body .fc-list-table td,
.cal-body .fc-list-table th {
  border-color: var(--bb-cal-grid-line) !important;
}

.cal-body .fc-event {
  border-radius: 6px !important;
  padding: 4px 10px !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.cal-body .fc-event:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px rgba(92, 77, 67, 0.08) !important;
}

/* ADHD/dysleksi: left-accent bar in month view reduces visual noise.
   #2938: 3px accent + 7px radius. #3610: compact 12.5px text. */
.cal-body .fc-dayGridMonth-view .fc-event {
  border: none !important;
  border-left: 3px solid var(--cat-color, var(--bb-sage)) !important;
  border-radius: 7px !important;
  background: color-mix(in srgb, var(--cat-color, var(--bb-sage)) 8%, transparent) !important;
  color: var(--bb-sage-dark) !important;
  font-size: 12.5px !important;
  line-height: 1.25 !important;
  padding: 3px 8px 3px 7px !important;
}

/* #2938: the 7px outer radius must beat kalender-grid.css .fc-h-event segment
   radii (0,4,0). Single-day events and the closing segment of a span keep the
   left accent with a uniform 7px radius. */
.cal-body .fc-dayGridMonth-view .fc-h-event.fc-event-start.fc-event-end,
.cal-body .fc-dayGridMonth-view .fc-h-event.fc-event-end:not(.fc-event-start) {
  border-radius: 7px !important;
}

/* #2938: month events do not move on hover (no transform / layout shift). */
.cal-body .fc-dayGridMonth-view .fc-event:hover {
  background: color-mix(in srgb, var(--cat-color, var(--bb-sage)) 14%, transparent) !important;
  transform: none !important;
  box-shadow: 0 2px 8px rgba(92, 77, 67, 0.06) !important;
}

/* Today's past events: keep title readable in month view. */
.cal-body .fc-day-today .fc-event.fc-event--past {
  opacity: 0.82;
}

.cal-body .fc-day-today .fc-event.fc-event--past:hover {
  opacity: 1;
}

.cal-body .fc-dayGridMonth-view .fc-day-today .fc-event.fc-event--past .fc-event-main {
  color: var(--cat-text, var(--bb-sage-dark)) !important;
}

/* ──────────────────────────────────────────────────────────────
   #2938: desktop month event hierarchy + calmer toolbar chrome.
   Scoped to >=768px so the <768px dot-grid / segmented control /
   icon-only mobile toolbar (responsive.css + 70-accessibility) is
   untouched.
   ────────────────────────────────────────────────────────────── */
@media (min-width: 768px) {
  /* Today's current/upcoming events stay calm: the day tile is already
     highlighted, so use a light category/sage tint instead of a dark block. */
  .cal-body .fc-dayGridMonth-view .fc-day-today .fc-event:not(.fc-event--past) {
    background: color-mix(in srgb, var(--cat-color, var(--bb-sage)) 16%, #FFFEFB) !important;
    border-left-color: var(--cat-color, var(--bb-sage)) !important;
    color: color-mix(in srgb, var(--cat-text, var(--bb-sage-dark)) 76%, #1F1B16) !important;
    font-weight: 650 !important;
    box-shadow: 0 2px 7px rgba(110, 138, 126, 0.10) !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-day-today .fc-event:not(.fc-event--past) .fc-event-main,
  .cal-body .fc-dayGridMonth-view .fc-day-today .fc-event:not(.fc-event--past) .fc-event-title,
  .cal-body .fc-dayGridMonth-view .fc-day-today .fc-event:not(.fc-event--past) .fc-event-time {
    color: color-mix(in srgb, var(--cat-text, var(--bb-sage-dark)) 76%, #1F1B16) !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-day-today .fc-event:not(.fc-event--past):hover {
    background: color-mix(in srgb, var(--cat-color, var(--bb-sage)) 24%, #FFFEFB) !important;
    transform: none !important;
  }

  /* Past/done events recede: faint, lower-weight text, muted accent. */
  .cal-body .fc-dayGridMonth-view .fc-event--past {
    opacity: 0.5 !important;
    border-left-color: var(--bb-muted-warm, #9A8E82) !important;
    font-weight: 500 !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-event--past .fc-event-main {
    font-weight: 500 !important;
  }

  /* Filter is the quietest control: transparent until hover, funnel icon. */
  .cal-body .fc-filterCats-button,
  .cal-body .fc-filterCats-button.fc-button,
  .cal-body .fc-filterCats-button.fc-button.fc-button-primary {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--bb-warm-text-light) !important;
  }

  .cal-body .fc-filterCats-button:hover {
    background: rgba(255, 254, 251, 0.74) !important;
    border-color: var(--bb-divider) !important;
    color: var(--bb-warm-text) !important;
  }

  /* Funnel (filter) + grid (Maaned/view) icons, calm stroked style. */
  .cal-body .fc-filterCats-button::before,
  .cal-body .fc-viewDropdown-button::before {
    content: '' !important;
    display: inline-block !important;
    width: 15px !important;
    height: 15px !important;
    margin-right: 8px !important;
    flex-shrink: 0 !important;
    background: currentColor !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
  }

  .cal-body .fc-filterCats-button::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3E%3C/svg%3E") !important;
  }

  /* #3540: trigger icon syncs with active view via data-view set by JS. */
  .cal-body .fc-viewDropdown-button[data-view="timeGridDay"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='9' y='3' width='6' height='18' rx='1.5'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='9' y='3' width='6' height='18' rx='1.5'/%3E%3C/svg%3E") !important;
  }

  .cal-body .fc-viewDropdown-button[data-view="timeGridWeek"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='3' width='4' height='18' rx='1'/%3E%3Crect x='10' y='3' width='4' height='18' rx='1'/%3E%3Crect x='17' y='3' width='4' height='18' rx='1'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='3' width='4' height='18' rx='1'/%3E%3Crect x='10' y='3' width='4' height='18' rx='1'/%3E%3Crect x='17' y='3' width='4' height='18' rx='1'/%3E%3C/svg%3E") !important;
  }

  .cal-body .fc-viewDropdown-button[data-view="dayGridMonth"]::before,
  .cal-body .fc-viewDropdown-button:not([data-view])::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E") !important;
  }

  .cal-body .fc-viewDropdown-button[data-view="listMonth"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='8' y1='6' x2='20' y2='6'/%3E%3Cline x1='8' y1='12' x2='20' y2='12'/%3E%3Cline x1='8' y1='18' x2='20' y2='18'/%3E%3Ccircle cx='4' cy='6' r='1.4'/%3E%3Ccircle cx='4' cy='12' r='1.4'/%3E%3Ccircle cx='4' cy='18' r='1.4'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='8' y1='6' x2='20' y2='6'/%3E%3Cline x1='8' y1='12' x2='20' y2='12'/%3E%3Cline x1='8' y1='18' x2='20' y2='18'/%3E%3Ccircle cx='4' cy='6' r='1.4'/%3E%3Ccircle cx='4' cy='12' r='1.4'/%3E%3Ccircle cx='4' cy='18' r='1.4'/%3E%3C/svg%3E") !important;
  }

  /* Connected Google Calendar control: calm flat icon-plus-label matching Filter. */
  .cal-body .fc-header-toolbar .gcal-connected-wrap {
    margin: 0 !important;
  }

  .cal-body .fc-header-toolbar .gcal-connected-sync {
    height: 36px !important;
    padding: 0 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    color: var(--bb-warm-text-light) !important;
    font-family: var(--bb-font-sans) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 34px !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease !important;
  }

  .cal-body .fc-header-toolbar .gcal-connected-sync:hover {
    background: rgba(92, 77, 67, 0.06) !important;
  }

  .cal-body .fc-header-toolbar .gcal-connected-label {
    white-space: nowrap !important;
  }
}

/* #3439: defensive fallback — if a stale build still renders a chevron, hide it. */
.gcal-connected-chevron {
  display: none !important;
}

/* Recurring events: muted warm recedes behind unique events */
.cal-body .fc-dayGridMonth-view .fc-event.cat-recurring {
  border-left-color: var(--bb-muted-warm) !important;
  background: rgba(154, 142, 130, 0.08) !important;
  color: var(--bb-muted-warm) !important;
}

.cal-body .fc-dayGridMonth-view .fc-event.cat-recurring:hover {
  background: rgba(154, 142, 130, 0.14) !important;
}

.cal-body .fc-dayGridMonth-view .fc-event.cat-recurring .fc-event-main {
  color: var(--bb-muted-warm) !important;
}

.cal-body .fc-daygrid-event-harness + .fc-daygrid-event-harness .fc-event {
  margin-top: 2px !important;
}

.cal-body .fc-event .fc-event-main {
  font-family: var(--bb-font-sans) !important;
  font-weight: 600 !important;
  color: var(--cat-text, var(--bb-sage-dark)) !important;
}

.cal-body .fc-event .fc-time-prefix {
  font-family: var(--bb-font-sans) !important;
  font-weight: var(--font-weight-semibold) !important;
  opacity: 0.6 !important;
  font-size: var(--font-size-xs) !important;
}

/* ADHD: hide repeated time prefixes in month view only. */
.cal-body .fc-dayGridMonth-view .fc-event .fc-time-prefix,
.cal-body .fc-dayGridMonth-view .fc-daygrid-block-event .fc-event-time {
  display: none !important;
}

.fc-event.cat-personlig,
.fc-event.cat-google_cal,
.cal-body .fc-event:not([class*="cat-"]) {
  --cat-color: var(--bb-sage);
  --cat-bg: rgba(110, 138, 126, 0.10);
  --cat-bg-hover: rgba(110, 138, 126, 0.16);
  --cat-text: var(--bb-sage-dark);
}

.fc-event.cat-moeder {
  --cat-color: var(--bb-sage);
  --cat-bg: rgba(168, 197, 184, 0.20);
  --cat-bg-hover: rgba(168, 197, 184, 0.30);
  --cat-text: var(--bb-sage-dark);
}

.fc-event.cat-deadline,
.fc-event.cat-aflevering {
  --cat-color: var(--bb-rose);
  --cat-bg: rgba(212, 168, 154, 0.20);
  --cat-bg-hover: rgba(212, 168, 154, 0.30);
  --cat-text: var(--bb-rose-dark);
}

.nl-bar-inner {
  background: rgba(255, 254, 251, 0.88) !important;
  border: 1px solid rgba(228, 220, 212, 0.40) !important;
  border-radius: var(--bb-radius-input) !important;
  box-shadow: var(--bb-shadow-input) !important;
  backdrop-filter: blur(20px) saturate(1.6) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.6) !important;
  padding: 8px 18px !important;
}

.nl-bar-inner:focus-within {
  border-color: rgba(110, 138, 126, 0.30) !important;
  box-shadow: 0 0 0 3px rgba(110, 138, 126, 0.18) !important;
}

.nl-bar-input {
  font-family: var(--bb-font-sans) !important;
  font-size: 15px !important;
  color: var(--bb-warm-text) !important;
}

.nl-bar-input::placeholder {
  font-family: var(--font-family) !important;
  font-style: normal !important;
  color: var(--bb-muted) !important;
}

.nl-bar-icon {
  color: var(--bb-muted) !important;
}

.nl-bar-inner:focus-within .nl-bar-icon {
  color: var(--bb-sage-dark) !important;
}

.nl-bar-submit {
  background: var(--bb-sage) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  box-shadow: var(--bb-shadow-cta) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.nl-bar-submit:hover {
  transform: scale(1.02) !important;
  box-shadow: var(--bb-shadow-cta-hover) !important;
}

.nl-bar-mic {
  color: var(--bb-warm-text-light) !important;
}

.nl-bar-mic:hover {
  color: var(--bb-sage-dark) !important;
}

.nl-bar-label {
  font-family: var(--font-family) !important;
  font-style: normal !important;
  color: var(--bb-muted) !important;
}



.nl-result {
  background: rgba(255, 254, 251, 0.92) !important;
  border: 1px solid rgba(228, 220, 212, 0.40) !important;
  border-radius: var(--bb-radius-card) !important;
  box-shadow: var(--bb-shadow-card) !important;
  backdrop-filter: blur(16px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.4) !important;
}

.nl-result-title {
  font-family: var(--bb-font-serif) !important;
  font-weight: 500 !important;
  color: var(--bb-warm-text) !important;
}

.nl-result-meta {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
}

.nl-result .btn-primary {
  background: var(--bb-sage) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 12px rgba(110, 138, 126, 0.22) !important;
}

.nl-result .btn-primary:hover {
  box-shadow: var(--bb-shadow-cta-hover) !important;
  transform: scale(1.02);
}

.nl-result .btn-ghost {
  color: var(--bb-sage-dark) !important;
  border: 1px solid var(--bb-divider) !important;
  border-radius: 10px !important;
}
/* ==========================================================================
   NL MULTI-EVENT & PLAN CARDS - Blod Bolge Premium
   Overrides cold tokens from kalender-ai.css
   ========================================================================== */

/* Card shells */
.nl-card-multi {
  background: rgba(255, 254, 251, 0.92) !important;
  border: 1px solid rgba(228, 220, 212, 0.40) !important;
  border-radius: var(--bb-radius-card) !important;
  box-shadow: var(--bb-shadow-card) !important;
  backdrop-filter: blur(16px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.4) !important;
}

.nl-card-plan {
  background: rgba(255, 254, 251, 0.92) !important;
  border: 1px solid rgba(228, 220, 212, 0.40) !important;
  border-radius: var(--bb-radius-card) !important;
  box-shadow: var(--bb-shadow-card) !important;
  backdrop-filter: blur(16px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.4) !important;
  overflow: hidden !important;
}

/* Plan header */
.nl-plan-header {
  background: rgba(255, 254, 251, 0.95) !important;
  border-bottom-color: rgba(228, 220, 212, 0.4) !important;
}

.nl-plan-header-count {
  font-family: var(--bb-font-serif) !important;
  color: var(--bb-warm-text) !important;
}

.nl-plan-header-dismiss {
  border-radius: 10px !important;
}

.nl-plan-header-dismiss:hover {
  background: rgba(110, 138, 126, 0.10) !important;
  color: var(--bb-warm-text) !important;
}

/* Simple card header */
.nl-card-header {
  font-family: var(--bb-font-serif) !important;
  color: var(--bb-warm-text) !important;
  border-bottom-color: rgba(228, 220, 212, 0.4) !important;
}

.nl-card-header svg {
  color: var(--bb-sage-dark) !important;
}

/* Drag handle */
.nl-card-drag-handle {
  color: var(--bb-muted) !important;
}

.nl-card-drag-handle:hover {
  background: rgba(110, 138, 126, 0.10) !important;
  color: var(--bb-warm-text-light) !important;
}

.nl-card--dragging {
  box-shadow: 0 8px 32px rgba(92, 77, 67, 0.15), 0 2px 8px rgba(92, 77, 67, 0.08) !important;
}

.nl-card--dragging .nl-card-drag-handle {
  background: rgba(110, 138, 126, 0.10) !important;
  color: var(--bb-sage-dark) !important;
}

.nl-plan-drag-grip svg {
  color: var(--bb-muted) !important;
}

.nl-card-plan.is-dragging {
  box-shadow: 0 16px 56px rgba(92, 77, 67, 0.15), 0 4px 16px rgba(92, 77, 67, 0.10) !important;
}

.nl-card-plan.is-dragging .nl-plan-header {
  background: rgba(255, 254, 251, 0.95) !important;
}

/* Category group */
.nl-plan-group + .nl-plan-group {
  border-top-color: rgba(228, 220, 212, 0.4) !important;
}

.nl-plan-group-header:hover {
  background: rgba(110, 138, 126, 0.06) !important;
}

.nl-plan-group-header:active {
  background: rgba(110, 138, 126, 0.10) !important;
}

.nl-plan-group-label {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
}

.nl-plan-group-count {
  color: var(--bb-sage-dark) !important;
  background: rgba(110, 138, 126, 0.12) !important;
}

.nl-plan-group-chevron {
  color: var(--bb-warm-text-light) !important;
}

/* Event rows - plan variant */
.nl-plan-event-row {
  font-family: var(--bb-font-sans) !important;
}

.nl-plan-event-row:hover {
  background: rgba(110, 138, 126, 0.05) !important;
}

.nl-plan-event-row + .nl-plan-event-row {
  border-top-color: rgba(228, 220, 212, 0.3) !important;
}

.nl-plan-event-title {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text) !important;
}

.nl-plan-event-date {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
}

/* Event rows - simple card variant */
.nl-card-event-row {
  background: rgba(250, 247, 243, 0.72) !important;
  font-family: var(--bb-font-sans) !important;
}

.nl-card-event-row + .nl-card-event-row {
  border-top-color: rgba(228, 220, 212, 0.3) !important;
}

.nl-card-event-row:hover {
  background: rgba(110, 138, 126, 0.08) !important;
}

.nl-card-event-title {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text) !important;
}

.nl-card-event-time {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
}

.nl-card-event-duration {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-muted) !important;
}

/* Remove button */
.nl-plan-event-remove:hover {
  color: #B85450 !important;
  background: rgba(184, 84, 80, 0.10) !important;
}


/* Action buttons - sage CTA */
.nl-btn-primary {
  background: var(--bb-sage-dark) !important;
  color: #fff !important;
  border-radius: var(--bb-radius-pill) !important;
  box-shadow: var(--bb-shadow-cta) !important;
  font-family: var(--bb-font-sans) !important;
}

.nl-btn-primary:hover {
  background: var(--bb-sage-dark) !important;
  box-shadow: var(--bb-shadow-cta-hover) !important;
  transform: scale(1.02) !important;
}

.nl-btn-secondary {
  border: 1px solid var(--bb-divider) !important;
  border-radius: var(--bb-radius-pill) !important;
  color: var(--bb-warm-text-light) !important;
  font-family: var(--bb-font-sans) !important;
}

.nl-btn-secondary:hover {
  background: rgba(110, 138, 126, 0.08) !important;
  border-color: var(--bb-sage) !important;
  color: var(--bb-sage-dark) !important;
}

.nl-plan-btn-create {
  background: var(--bb-sage-dark) !important;
  color: #fff !important;
  border-radius: var(--bb-radius-pill) !important;
  box-shadow: var(--bb-shadow-cta) !important;
  font-family: var(--bb-font-sans) !important;
}

.nl-plan-btn-create:hover {
  background: var(--bb-sage-dark) !important;
  box-shadow: var(--bb-shadow-cta-hover) !important;
  transform: scale(1.02) !important;
}

.nl-plan-btn-create:disabled {
  box-shadow: none !important;
}

.nl-plan-btn-create:disabled:hover {
  transform: none !important;
  background: var(--bb-sage-dark) !important;
}

.nl-plan-btn-create:focus-visible {
  outline: none !important;
  outline-offset: 2px !important;
}

.nl-plan-btn-cancel {
  border: 1px solid var(--bb-divider) !important;
  border-radius: var(--bb-radius-pill) !important;
  color: var(--bb-warm-text-light) !important;
  font-family: var(--bb-font-sans) !important;
}

.nl-plan-btn-cancel:hover {
  background: rgba(110, 138, 126, 0.08) !important;
  border-color: var(--bb-sage) !important;
  color: var(--bb-sage-dark) !important;
}

.nl-plan-btn-cancel:focus-visible {
  outline: none !important;
  outline-offset: 2px !important;
}

/* Action bars */
.nl-card-actions {
  border-top-color: rgba(228, 220, 212, 0.4) !important;
}

.nl-plan-actions {
  border-top-color: rgba(228, 220, 212, 0.4) !important;
  background: rgba(255, 254, 251, 0.95) !important;
}

/* Scrollbar */
.nl-plan-groups::-webkit-scrollbar-thumb {
  background: rgba(184, 168, 152, 0.3) !important;
}

.nl-plan-groups::-webkit-scrollbar-thumb:hover {
  background: rgba(184, 168, 152, 0.5) !important;
}

.cal-filter-popover {
  background: rgba(255, 254, 251, 0.95) !important;
  border: 1px solid rgba(228, 220, 212, 0.40) !important;
  border-radius: var(--bb-radius-card) !important;
  box-shadow: var(--bb-shadow-card) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

.cal-filter {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text) !important;
}

.cal-add-cat-btn {
  color: var(--bb-sage-dark) !important;
  font-family: var(--bb-font-sans) !important;
  border: 1px dashed rgba(110, 138, 126, 0.30) !important;
  border-radius: 8px !important;
}

.cal-add-cat-btn:hover {
  border-color: rgba(110, 138, 126, 0.45) !important;
  background: rgba(110, 138, 126, 0.06) !important;
}

/* ==========================================================================
   STILLE AI - contextual chips, briefing, legend and weekend control
   ========================================================================== */







@keyframes calChipFadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── Task slot suggestion cards ────────────────────────── */

.cal-task-suggestion {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 600px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(74, 122, 104, 0.18) !important;
  border-left: 3px solid var(--bb-sage, #4A7A68) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(240, 250, 245, 0.95) 0%, rgba(232, 246, 238, 0.90) 100%) !important;
  backdrop-filter: blur(12px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.2) !important;
  box-shadow: 0 3px 14px rgba(74, 122, 104, 0.08) !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: var(--bb-warm-text) !important;
  animation: calChipFadeIn 0.3s ease both !important;
  transition: opacity 0.35s ease, transform 0.35s ease !important;
}

.cal-task-suggestion-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.cal-task-suggestion-actions {
  display: flex !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}

.cal-task-suggestion-accept {
  padding: 6px 14px !important;
  border: none !important;
  border-radius: 10px !important;
  background: var(--bb-sage, #4A7A68) !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  color: #fff !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease !important;
}

.cal-task-suggestion-accept:hover {
  background: #3D6B57 !important;
  box-shadow: 0 2px 8px rgba(74, 122, 104, 0.2) !important;
}

.cal-task-suggestion-accept:active {
  transform: scale(0.97) !important;
}

.cal-task-suggestion-dismiss {
  padding: 6px 14px !important;
  border: 1px solid rgba(74, 122, 104, 0.28) !important;
  border-radius: 10px !important;
  background: transparent !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  color: var(--bb-warm-text-light) !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease !important;
}

.cal-task-suggestion-dismiss:hover {
  background: rgba(74, 122, 104, 0.06) !important;
  border-color: rgba(74, 122, 104, 0.4) !important;
}

.cal-task-suggestion-dismiss:active {
  transform: scale(0.97) !important;
}

.cal-task-suggestion--accepted,
.cal-task-suggestion--dismissed {
  opacity: 0 !important;
  transform: translateY(-8px) !important;
  pointer-events: none !important;
}

@media (max-width: 600px) {
  .cal-task-suggestion {
    max-width: 100% !important;
    font-size: 13px !important;
    padding: 10px 12px !important;
  }
  .cal-task-suggestion-actions {
    width: 100% !important;
  }
}

/* ── Email calendar mention cards ────────────────────────── */

.cal-email-mention {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 600px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(180, 120, 130, 0.18) !important;
  border-left: 3px solid var(--bb-rose-light, #D4907C) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(255, 245, 245, 0.95) 0%, rgba(255, 238, 235, 0.90) 100%) !important;
  backdrop-filter: blur(12px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.2) !important;
  box-shadow: 0 3px 14px rgba(180, 120, 100, 0.08) !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: var(--bb-warm-text) !important;
  animation: calChipFadeIn 0.3s ease both !important;
  transition: opacity 0.35s ease, transform 0.35s ease !important;
}

.cal-email-mention-icon {
  flex-shrink: 0 !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  color: var(--bb-rose-light, #D4907C) !important;
}

.cal-email-mention-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.cal-email-mention-text em {
  font-style: italic !important;
  color: var(--bb-warm-text-light) !important;
}

.cal-email-mention-actions {
  display: flex !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}

.cal-email-mention-accept {
  padding: 6px 14px !important;
  border: none !important;
  border-radius: 10px !important;
  background: var(--bb-rose-light, #D4907C) !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  color: #fff !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease !important;
}

.cal-email-mention-accept:hover {
  background: #C07868 !important;
  box-shadow: 0 2px 8px rgba(180, 120, 100, 0.2) !important;
}

.cal-email-mention-accept:active {
  transform: scale(0.97) !important;
}

.cal-email-mention-dismiss {
  padding: 6px 14px !important;
  border: 1px solid rgba(180, 120, 130, 0.28) !important;
  border-radius: 10px !important;
  background: transparent !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  color: var(--bb-warm-text-light) !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease !important;
}

.cal-email-mention-dismiss:hover {
  background: rgba(180, 120, 130, 0.06) !important;
  border-color: rgba(180, 120, 130, 0.4) !important;
}

.cal-email-mention-dismiss:active {
  transform: scale(0.97) !important;
}

.cal-email-mention--accepted,
.cal-email-mention--dismissed {
  opacity: 0 !important;
  transform: translateY(-8px) !important;
  pointer-events: none !important;
}

@media (max-width: 600px) {
  .cal-email-mention {
    max-width: 100% !important;
    font-size: 13px !important;
    padding: 10px 12px !important;
  }
  .cal-email-mention-actions {
    width: 100% !important;
  }
}

[data-theme="dark"] .nl-bar-input {
  color: #E8DDD4 !important;
  caret-color: #E8DDD4 !important;
}

[data-theme="dark"] .nl-bar-input::placeholder {
  color: #C8BEB2 !important;
}
/* Filter checkbox warm accent-colors */
.cal-filter-popover input[type="checkbox"] {
  accent-color: var(--bb-sage-dark) !important;
}

.cal-filter-item[data-cat="personlig"] input[type="checkbox"],
.cal-filter-item.cat-personlig input[type="checkbox"] {
  accent-color: #4A7A68 !important;
}

.cal-filter-item[data-cat="moeder"] input[type="checkbox"],
.cal-filter-item.cat-moeder input[type="checkbox"],
.cal-filter-item[data-cat="arbejde"] input[type="checkbox"],
.cal-filter-item.cat-arbejde input[type="checkbox"] {
  accent-color: #4A7A68 !important;
}

.cal-filter-item[data-cat="deadline"] input[type="checkbox"],
.cal-filter-item[data-cat="aflevering"] input[type="checkbox"],
.cal-filter-item.cat-deadline input[type="checkbox"],
.cal-filter-item.cat-aflevering input[type="checkbox"] {
  accent-color: #9B6050 !important;
}

.cal-filter-item[data-cat="andet"] input[type="checkbox"],
.cal-filter-item.cat-andet input[type="checkbox"] {
  accent-color: #D4A060 !important;
}

/* Category swatch dots */
.cat-swatch[data-cat="personlig"],
.cat-swatch.cat-personlig,
.cat-swatch[data-cat="google_cal"],
.cat-swatch.cat-google_cal,
.cat-swatch[data-cat="skole"],
.cat-swatch.cat-skole {
  background-color: var(--bb-sage) !important;
}

.cat-swatch[data-cat="moeder"],
.cat-swatch.cat-moeder,
.cat-swatch[data-cat="grammatik"],
.cat-swatch.cat-grammatik {
  background-color: var(--bb-sage) !important;
}

.cat-swatch[data-cat="arbejde"],
.cat-swatch.cat-arbejde {
  background-color: var(--bb-sage-dark) !important;
}

.cat-swatch[data-cat="deadline"],
.cat-swatch[data-cat="aflevering"],
.cat-swatch.cat-deadline,
.cat-swatch.cat-aflevering {
  background-color: var(--bb-rose) !important;
}

.cat-swatch[data-cat="andet"],
.cat-swatch.cat-andet {
  background-color: #D4A060 !important;
}

.cat-swatch[data-cat="proeve"],
.cat-swatch.cat-proeve {
  background-color: #8C7B6F !important;
}

.cal-drawer .cat-swatch,
.cal-drawer [class*="cat-color"] {
  border-radius: 50% !important;
}

/* Custom category input font fix */
.cal-filter-popover input[placeholder="Kategorinavn"],
.cal-filter-popover .custom-cat-input,
.custom-cat-add-row input {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text) !important;
}

.cal-filter-popover input[placeholder="Kategorinavn"]::placeholder,
.custom-cat-add-row input::placeholder {
  font-family: var(--font-family) !important;
  font-style: normal !important;
  color: var(--bb-muted) !important;
}

.cal-drawer {
  background: rgba(255, 254, 251, 0.96) !important;
  backdrop-filter: blur(24px) saturate(1.5);
  -webkit-backdrop-filter: blur(24px) saturate(1.5);
  border-left: 1px solid rgba(228, 220, 212, 0.5) !important;
  border-radius: var(--bb-radius-card) 0 0 var(--bb-radius-card) !important;
  box-shadow: -4px 0 32px rgba(92, 77, 67, 0.12), inset 1px 0 0 rgba(255, 255, 255, 0.4) !important;
}

.cal-drawer-header h5 {
  font-family: var(--bb-font-serif) !important;
  font-weight: 500 !important;
  color: var(--bb-warm-text) !important;
}

.cal-drawer .input-label {
  font-family: var(--bb-font-sans) !important;
  font-weight: 500 !important;
  color: var(--bb-warm-text-light) !important;
  font-size: 12px !important;
}

.cal-drawer .input {
  font-family: var(--bb-font-sans) !important;
  border: 1px solid var(--bb-divider) !important;
  border-radius: 12px !important;
  color: var(--bb-warm-text) !important;
}

.cal-drawer .input:focus-visible {
  border-color: var(--bb-sage) !important;
  box-shadow: none !important;
  outline: none !important;
}

.cal-drawer textarea.input::placeholder {
  font-family: var(--font-family) !important;
  font-style: normal !important;
  color: var(--bb-muted) !important;
}

.cal-drawer .date-chip {
  font-family: var(--bb-font-sans) !important;
  border: 1px solid var(--bb-divider) !important;
  border-radius: var(--bb-radius-pill) !important;
  color: var(--bb-warm-text-light) !important;
}

.cal-drawer .date-chip:hover,
.cal-drawer .date-chip.active {
  background: var(--bb-sage-bg) !important;
  border-color: var(--bb-sage) !important;
  color: var(--bb-sage-dark) !important;
}

.cal-drawer .btn-primary {
  background: var(--bb-sage-dark) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: var(--bb-shadow-cta) !important;
  font-family: var(--bb-font-sans) !important;
  font-weight: 600 !important;
}

.cal-drawer .btn-primary:hover {
  box-shadow: var(--bb-shadow-cta-hover) !important;
  transform: scale(1.02);
}

/* Drawer completion - Blod Bolge Premium */

.cal-drawer-overlay {
  background: rgba(92, 77, 67, 0.25) !important;
}

.cal-drawer-header {
  border-bottom: 1px solid rgba(228, 220, 212, 0.5) !important;
}

.cal-drawer-close {
  color: var(--bb-muted) !important;
}

.cal-drawer-close:hover {
  background: rgba(228, 220, 212, 0.35) !important;
  color: var(--bb-warm-text) !important;
}

.cal-drawer-body .input:hover {
  border-color: rgba(212, 168, 154, 0.4) !important;
}

.cal-drawer-body .input::placeholder {
  color: var(--bb-muted) !important;
  opacity: 1 !important;
}

.cal-drawer-footer {
  border-top: 1px solid rgba(228, 220, 212, 0.5) !important;
  background: rgba(250, 247, 243, 0.4) !important;
}

.cal-drawer-footer .btn-primary:active {
  transform: scale(0.97) !important;
  box-shadow: 0 2px 6px rgba(155, 96, 80, 0.16) !important;
}

.cal-drawer-footer .btn-secondary {
  font-family: var(--bb-font-sans) !important;
  font-weight: 600 !important;
  border: 1px solid var(--bb-divider) !important;
  border-radius: 10px !important;
  color: var(--bb-warm-text) !important;
}

.cal-drawer-footer .btn-secondary:hover {
  background: rgba(228, 220, 212, 0.25) !important;
  border-color: var(--bb-sage) !important;
  color: var(--bb-warm-text) !important;
}

.cal-drawer-footer .btn-secondary:active {
  transform: scale(0.97) !important;
}

.cal-drawer-footer .btn-delete {
  font-family: var(--bb-font-sans) !important;
  color: #B85450 !important;
  border-radius: 10px !important;
}

.cal-drawer-footer .btn-delete:hover {
  background: rgba(184, 84, 80, 0.08) !important;
  color: #A04440 !important;
}

.custom-cat-trigger {
  font-family: var(--bb-font-sans) !important;
  border: 1px solid var(--bb-divider) !important;
  border-radius: 12px !important;
  color: var(--bb-warm-text) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%238A7E72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
}

.custom-cat-trigger:hover {
  border-color: rgba(212, 168, 154, 0.5) !important;
}

.custom-cat-trigger.open {
  border-color: var(--bb-sage) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%238A7E72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5 6 4.5 9 7.5'/%3E%3C/svg%3E") !important;
}

.custom-cat-options {
  background: rgba(255, 254, 251, 0.97) !important;
  backdrop-filter: blur(20px) saturate(1.6) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.6) !important;
  border: 1px solid rgba(228, 220, 212, 0.6) !important;
  border-radius: 14px !important;
  box-shadow:
    0 1px 2px rgba(92, 77, 67, 0.06),
    0 4px 16px rgba(92, 77, 67, 0.08),
    0 12px 40px rgba(92, 77, 67, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
}

.custom-cat-option {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text) !important;
}

.custom-cat-option:hover {
  background: rgba(244, 232, 226, 0.5) !important;
}

.custom-cat-option.selected {
  background: rgba(110, 138, 126, 0.10) !important;
  font-weight: 600 !important;
  color: var(--bb-sage-dark) !important;
}

.custom-cat-add-btn {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
  border-top-color: rgba(228, 220, 212, 0.5) !important;
}

.custom-cat-add-btn:hover {
  background: rgba(244, 232, 226, 0.4) !important;
  color: var(--bb-warm-text) !important;
}

.custom-cat-add-form {
  border-top-color: rgba(228, 220, 212, 0.5) !important;
}

.custom-cat-add-form input.custom-cat-add-input {
  font-family: var(--bb-font-sans) !important;
  border: 1px solid var(--bb-divider) !important;
  border-radius: 10px !important;
  color: var(--bb-warm-text) !important;
}

.custom-cat-add-form input.custom-cat-add-input:focus-visible {
  border-color: var(--bb-sage) !important;
  box-shadow: none !important;
}

.custom-cat-add-swatch.selected {
  border-color: var(--bb-warm-text) !important;
}

.custom-cat-add-actions .custom-cat-add-create {
  background: var(--bb-sage-dark) !important;
  font-family: var(--bb-font-sans) !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 8px rgba(155, 96, 80, 0.16) !important;
}

.custom-cat-add-actions .custom-cat-add-cancel {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
  border-radius: 10px !important;
}

.custom-cat-add-actions .custom-cat-add-cancel:hover {
  background: rgba(228, 220, 212, 0.3) !important;
}

.cal-drawer-body .toggle input {
  accent-color: var(--bb-sage-dark) !important;
}

.cal-drawer-body .toggle-track {
  background: rgba(228, 220, 212, 0.7) !important;
  box-shadow: inset 0 0 0 1px rgba(228, 220, 212, 0.7) !important;
}

.cal-drawer-body .toggle input:checked + .toggle-track {
  background: var(--bb-sage-dark) !important;
  box-shadow: 0 4px 12px rgba(155, 96, 80, 0.18) !important;
}

.cal-drawer-body .toggle-track::after {
  background: var(--bb-white) !important;
  box-shadow: 0 1px 3px rgba(92, 77, 67, 0.18) !important;
}

.cal-drawer-body .toggle-label {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text) !important;
}

.cal-recurrence-scope {
  background: rgba(250, 247, 243, 0.6) !important;
  border: 1px solid rgba(228, 220, 212, 0.5) !important;
  border-radius: 12px !important;
}

.cal-recurrence-scope-label {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text) !important;
}

.cal-recurrence-scope-option {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text) !important;
}

.cal-recurrence-scope-option input[type="radio"] {
  accent-color: var(--bb-sage-dark) !important;
}

.cal-drawer-times .input[type="time"] {
  font-family: var(--bb-font-sans) !important;
  border: 1px solid var(--bb-divider) !important;
  border-radius: 12px !important;
  color: var(--bb-warm-text) !important;
}

.cal-drawer-times .input[type="time"]:hover {
  border-color: rgba(212, 168, 154, 0.4) !important;
}

.cal-drawer-times .input[type="time"]:focus-visible {
  border-color: var(--bb-sage) !important;
  box-shadow: none !important;
}

.cal-drawer-error,
.cal-drawer-warning {
  border-radius: 10px !important;
  font-family: var(--bb-font-sans) !important;
}

.cal-conflict-suggest-btn {
  font-family: var(--bb-font-sans) !important;
  border: 1px solid var(--bb-divider) !important;
  border-radius: 22px !important;
  color: var(--bb-warm-text) !important;
  background: rgba(250, 247, 243, 0.5) !important;
}

.cal-conflict-suggest-btn:hover {
  border-color: var(--bb-sage) !important;
  color: var(--bb-sage-dark) !important;
  background: var(--bb-sage-bg) !important;
}

.cal-conflict-suggest-label {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
}

.smart-drawer-nl-group .smart-drawer-nl-input {
  font-family: var(--bb-font-sans) !important;
  border: 1px solid var(--bb-divider) !important;
  border-radius: 12px !important;
  color: var(--bb-warm-text) !important;
}

.smart-drawer-nl-group .smart-drawer-nl-input::placeholder {
  font-family: var(--font-family) !important;
  font-style: normal !important;
  color: var(--bb-muted) !important;
}

.smart-drawer-nl-group .smart-drawer-nl-input:hover {
  border-color: rgba(212, 168, 154, 0.4) !important;
}

.smart-drawer-nl-group.nl-active .smart-drawer-nl-input {
  border-color: var(--bb-sage) !important;
  box-shadow: 0 0 0 3px rgba(110, 138, 126, 0.10) !important;
}

.smart-drawer-nl-hint {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
}

.smart-drawer-details-toggle {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-sage-dark) !important;
  border-radius: 10px !important;
  padding: 8px 14px !important;
  transition: background 0.15s ease !important;
}

.smart-drawer-details-toggle:hover {
  color: var(--bb-sage-dark) !important;
  background: rgba(110, 138, 126, 0.08) !important;
}

.smart-drawer-preview {
  background: rgba(250, 247, 243, 0.5) !important;
  border: 1px solid rgba(228, 220, 212, 0.5) !important;
  border-radius: 12px !important;
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text) !important;
}

.smart-drawer-ai-spinner {
  border-color: rgba(228, 220, 212, 0.4) !important;
  border-top-color: var(--bb-sage-dark) !important;
}

.ai-field-badge--high {
  background: rgba(110, 138, 126, 0.12) !important;
  color: var(--bb-sage-dark) !important;
  font-family: var(--bb-font-sans) !important;
}

.ai-field-badge--inferred {
  font-family: var(--bb-font-sans) !important;
}

.smart-drawer-inline-msg {
  font-family: var(--bb-font-sans) !important;
  background: rgba(250, 247, 243, 0.5) !important;
  border: 1px solid rgba(228, 220, 212, 0.5) !important;
  border-radius: 12px !important;
  color: var(--bb-warm-text) !important;
}

.smart-drawer select.time-select {
  font-family: var(--bb-font-sans) !important;
  border: 1px solid var(--bb-divider) !important;
  border-radius: 12px !important;
  color: var(--bb-warm-text) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238A7E72' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
}

.smart-drawer select.time-select:focus-visible {
  border-color: var(--bb-sage) !important;
  box-shadow: none !important;
}

.smart-drawer .flatpickr-input {
  font-family: var(--bb-font-sans) !important;
  border: 1px solid var(--bb-divider) !important;
  border-radius: 12px !important;
  color: var(--bb-warm-text) !important;
}

/* ── Mobile filter/category touch targets and font ── */
@media (max-width: 767px) {
  label.cal-filter {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 16px !important;
  }

  .cal-filter-cb {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
  }

  .cal-custom-delete {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    font-size: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .cal-filter-popover input,
  .cal-filter-popover select,
  .custom-cat-add-form input.custom-cat-add-input {
    font-size: 16px !important;
  }

  .custom-cat-add-create,
  .custom-cat-add-cancel {
    min-height: 44px !important;
  }
}

/* Flatpickr Blod Bolge */
.flatpickr-calendar {
  font-family: var(--bb-font-sans) !important;
  border-radius: 18px !important;
  border: 1px solid rgba(228, 220, 212, 0.6) !important;
  background: rgba(255, 254, 251, 0.96) !important;
  backdrop-filter: blur(20px) saturate(1.6) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.6) !important;
  box-shadow:
    0 8px 32px rgba(92, 77, 67, 0.10),
    0 2px 8px rgba(92, 77, 67, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
  overflow: hidden;
  padding: 6px !important;
}

.flatpickr-current-month {
  font-family: var(--font-family) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--bb-warm-text) !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  font-family: var(--font-family) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--bb-warm-text) !important;
}

.flatpickr-current-month input.cur-year {
  font-family: var(--font-family) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--bb-warm-text) !important;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  border-radius: 10px !important;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  background: rgba(212, 168, 154, 0.10) !important;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  fill: var(--bb-warm-text-light) !important;
}

span.flatpickr-weekday {
  font-family: var(--bb-font-sans) !important;
  font-size: var(--font-size-xs) !important;
  font-weight: 600 !important;
  color: var(--bb-warm-text-light) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.flatpickr-day {
  font-family: var(--bb-font-sans) !important;
  font-size: 15px !important;
  font-weight: 450 !important;
  color: var(--bb-warm-text) !important;
  border-radius: 10px !important;
  border: none !important;
  transition: all 0.15s ease !important;
}

.flatpickr-day:hover {
  background: rgba(212, 168, 154, 0.08) !important;
  border: none !important;
  color: var(--bb-warm-text) !important;
}

.flatpickr-day.today {
  border: 2px solid rgba(110, 138, 126, 0.30) !important;
  background: transparent !important;
  color: var(--bb-warm-text) !important;
  font-weight: 600 !important;
}

.flatpickr-day.today:hover {
  background: rgba(110, 138, 126, 0.08) !important;
  border-color: var(--bb-sage) !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: var(--bb-sage-dark) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(212, 168, 154, 0.35) !important;
  font-weight: 600 !important;
}

.flatpickr-day.selected.today {
  background: var(--bb-sage-dark) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(212, 168, 154, 0.35) !important;
}

.flatpickr-day.today.selected,
.flatpickr-day.today.selected:hover,
.flatpickr-day.today.selected:focus-visible {
  background: var(--bb-sage-dark) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}

.flatpickr-day.inRange {
  background: rgba(110, 138, 126, 0.12) !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--bb-warm-text) !important;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  color: var(--bb-muted) !important;
  background: transparent !important;
  border: none !important;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: var(--bb-muted) !important;
}

.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
  background: rgba(212, 168, 154, 0.05) !important;
  color: var(--bb-warm-text-light) !important;
}

.flatpickr-day:active:not(.flatpickr-disabled) {
  transform: scale(0.92) !important;
}

.flatpickr-time {
  border-top: 1px solid rgba(228, 220, 212, 0.5) !important;
}

.flatpickr-time input {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text) !important;
}

.flatpickr-time .flatpickr-am-pm {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text) !important;
}

.flatpickr-time .flatpickr-time-separator {
  color: var(--bb-muted) !important;
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover {
  background: rgba(212, 168, 154, 0.08) !important;
}

.flatpickr-time input:focus-visible {
  background: rgba(212, 168, 154, 0.08) !important;
}

.flatpickr-calendar .numInputWrapper span:hover {
  background: rgba(212, 168, 154, 0.10) !important;
}

.flatpickr-calendar .numInputWrapper span::after {
  border-bottom-color: var(--bb-warm-text) !important;
}

.flatpickr-calendar .numInputWrapper span.arrowDown::after {
  border-top-color: var(--bb-warm-text) !important;
}

/* Flatpickr dark mode */
[data-theme="dark"] .flatpickr-calendar {
  background: rgba(42, 38, 34, 0.96) !important;
  border-color: rgba(232, 225, 215, 0.08) !important;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.3),
    0 2px 8px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .flatpickr-current-month,
[data-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months,
[data-theme="dark"] .flatpickr-current-month input.cur-year {
  color: #E8DDD4 !important;
}

[data-theme="dark"] .flatpickr-months .flatpickr-prev-month svg,
[data-theme="dark"] .flatpickr-months .flatpickr-next-month svg {
  fill: #C8BEB2 !important;
}

[data-theme="dark"] .flatpickr-months .flatpickr-prev-month:hover,
[data-theme="dark"] .flatpickr-months .flatpickr-next-month:hover {
  background: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] span.flatpickr-weekday {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .flatpickr-day {
  color: #E8DDD4 !important;
}

[data-theme="dark"] .flatpickr-day:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .flatpickr-day.today {
  border-color: rgba(110, 138, 126, 0.3) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .flatpickr-day.today:hover {
  background: rgba(110, 138, 126, 0.1) !important;
  border-color: rgba(110, 138, 126, 0.5) !important;
}

[data-theme="dark"] .flatpickr-day.selected,
[data-theme="dark"] .flatpickr-day.startRange,
[data-theme="dark"] .flatpickr-day.endRange,
[data-theme="dark"] .flatpickr-day.selected:hover,
[data-theme="dark"] .flatpickr-day.startRange:hover,
[data-theme="dark"] .flatpickr-day.endRange:hover {
  background: #5F7C70 !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(212,168,154,0.5) !important;
}

[data-theme="dark"] .flatpickr-day.today.selected,
[data-theme="dark"] .flatpickr-day.today.selected:hover,
[data-theme="dark"] .flatpickr-day.today.selected:focus-visible {
  background: #5F7C70 !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}

[data-theme="dark"] .flatpickr-day.inRange {
  background: rgba(110, 138, 126, 0.1) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .flatpickr-day.prevMonthDay,
[data-theme="dark"] .flatpickr-day.nextMonthDay,
[data-theme="dark"] .flatpickr-day.flatpickr-disabled {
  color: rgba(200, 190, 178, 0.4) !important;
}

[data-theme="dark"] .flatpickr-time {
  border-top-color: rgba(232, 225, 215, 0.08) !important;
}

[data-theme="dark"] .flatpickr-time input,
[data-theme="dark"] .flatpickr-time .flatpickr-am-pm {
  color: #E8DDD4 !important;
}

[data-theme="dark"] .flatpickr-time input:hover,
[data-theme="dark"] .flatpickr-time .flatpickr-am-pm:hover {
  background: rgba(255, 255, 255, 0.06) !important;
}

.char-count {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-muted) !important;
}

.cat-color-dot {
  box-shadow: 0 0 0 2px rgba(228, 220, 212, 0.5) !important;
}

.cal-drawer-body select.input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%238A7E72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E") !important;
}

[data-theme="dark"] .cal-drawer-overlay {
  background: rgba(20, 18, 16, 0.6) !important;
}

[data-theme="dark"] .cal-drawer {
  background: rgba(42, 38, 34, 0.97) !important;
  backdrop-filter: blur(24px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.4) !important;
  border-left-color: rgba(255, 255, 255, 0.06) !important;
  box-shadow:
    -12px 0 40px rgba(0, 0, 0, 0.5),
    -2px 0 8px rgba(0, 0, 0, 0.25),
    inset 1px 0 0 rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .cal-drawer-header {
  border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .cal-drawer-header h5 {
  color: #E8DDD4 !important;
}

[data-theme="dark"] .cal-drawer-close {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .cal-drawer-close:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .cal-drawer-body .input {
  border-color: rgba(255, 255, 255, 0.08) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .cal-drawer-body .input:hover {
  border-color: rgba(212, 168, 154, 0.2) !important;
}

[data-theme="dark"] .cal-drawer-body .input:focus-visible {
  border-color: #6E8A7E !important;
  box-shadow: none !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .cal-drawer-body .input::placeholder {
  color: rgba(200, 190, 178, 0.5) !important;
}

[data-theme="dark"] .cal-drawer .input-label {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .cal-drawer-footer {
  border-top-color: rgba(255, 255, 255, 0.06) !important;
  background: rgba(255, 255, 255, 0.02) !important;
}

[data-theme="dark"] .cal-drawer-footer .btn-primary {
  background: #5F7C70 !important;
  box-shadow: 0 4px 12px rgba(212,168,154,0.5) !important;
}

[data-theme="dark"] .cal-drawer-footer .btn-primary:hover {
  background: #4A6B5E !important;
  box-shadow: 0 6px 18px rgba(212,168,154,0.5) !important;
}

[data-theme="dark"] .cal-drawer-footer .btn-secondary {
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .cal-drawer-footer .btn-secondary:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

[data-theme="dark"] .cal-drawer-footer .btn-delete {
  color: #E8877E !important;
}

[data-theme="dark"] .cal-drawer-footer .btn-delete:hover {
  background: rgba(232, 135, 126, 0.1) !important;
  color: #E8877E !important;
}

[data-theme="dark"] .cal-drawer-body .toggle input {
  accent-color: #6E8A7E !important;
}

[data-theme="dark"] .cal-drawer-body .toggle-track {
  background: rgba(255, 255, 255, 0.12) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .cal-drawer-body .toggle input:checked + .toggle-track {
  background: #5F7C70 !important;
  box-shadow: 0 4px 12px rgba(212,168,154,0.5) !important;
}

[data-theme="dark"] .cal-drawer-body .toggle-track::after {
  background: var(--bb-white) !important;
  box-shadow: 0 1px 3px rgba(20, 18, 16, 0.35) !important;
}

[data-theme="dark"] .cal-drawer-body .toggle-label {
  color: #E8DDD4 !important;
}

[data-theme="dark"] .custom-cat-trigger {
  background-color: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #E8DDD4 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23C8BEB2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
}

[data-theme="dark"] .custom-cat-trigger:hover {
  border-color: rgba(212, 168, 154, 0.2) !important;
}

[data-theme="dark"] .custom-cat-trigger.open {
  border-color: #6E8A7E !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23C8BEB2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5 6 4.5 9 7.5'/%3E%3C/svg%3E") !important;
}

[data-theme="dark"] .custom-cat-options {
  background: rgba(42, 38, 34, 0.97) !important;
  backdrop-filter: blur(20px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .custom-cat-option {
  color: #E8DDD4 !important;
}

[data-theme="dark"] .custom-cat-option:hover {
  background: rgba(212, 168, 154, 0.08) !important;
}

[data-theme="dark"] .custom-cat-option.selected {
  background: rgba(110, 138, 126, 0.12) !important;
  color: #6E8A7E !important;
}

[data-theme="dark"] .custom-cat-add-btn {
  border-top-color: rgba(255, 255, 255, 0.06) !important;
  color: #C8BEB2 !important;
}

[data-theme="dark"] .custom-cat-add-btn:hover {
  background: rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .custom-cat-add-form {
  border-top-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .custom-cat-add-form input.custom-cat-add-input {
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .custom-cat-add-form input.custom-cat-add-input:focus-visible {
  border-color: #6E8A7E !important;
  box-shadow: none !important;
}

[data-theme="dark"] .custom-cat-add-swatch.selected {
  border-color: rgba(255, 255, 255, 0.6) !important;
}

[data-theme="dark"] .custom-cat-add-actions .custom-cat-add-create {
  background: #5F7C70 !important;
}

[data-theme="dark"] .custom-cat-add-actions .custom-cat-add-cancel {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #C8BEB2 !important;
}

[data-theme="dark"] .custom-cat-add-actions .custom-cat-add-cancel:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .cal-drawer .date-chip {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #C8BEB2 !important;
}

[data-theme="dark"] .cal-drawer .date-chip:hover {
  background: rgba(110, 138, 126, 0.1) !important;
  border-color: rgba(110, 138, 126, 0.2) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .cal-drawer .date-chip.active {
  background: var(--bb-sage-dark) !important;
  border-color: var(--bb-sage-dark) !important;
  color: #fff !important;
}

[data-theme="dark"] .cal-drawer-times .input[type="time"] {
  border-color: rgba(255, 255, 255, 0.08) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .cal-drawer-times .input[type="time"]:hover {
  border-color: rgba(212, 168, 154, 0.2) !important;
}

[data-theme="dark"] .cal-drawer-times .input[type="time"]:focus-visible {
  border-color: #6E8A7E !important;
  box-shadow: none !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .cal-recurrence-scope {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .cal-recurrence-scope-label,
[data-theme="dark"] .cal-recurrence-scope-option {
  color: #E8DDD4 !important;
}

[data-theme="dark"] .smart-drawer-nl-group .smart-drawer-nl-input {
  border-color: rgba(255, 255, 255, 0.08) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .smart-drawer-nl-group .smart-drawer-nl-input::placeholder {
  color: rgba(200, 190, 178, 0.5) !important;
}

[data-theme="dark"] .smart-drawer-nl-group.nl-active .smart-drawer-nl-input {
  border-color: #6E8A7E !important;
  box-shadow: 0 0 0 3px rgba(110, 138, 126, 0.1) !important;
}

[data-theme="dark"] .smart-drawer-nl-hint,
[data-theme="dark"] .smart-drawer-details-toggle {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .smart-drawer-details-toggle:hover {
  color: #E8DDD4 !important;
}

[data-theme="dark"] .smart-drawer-preview,
[data-theme="dark"] .smart-drawer-inline-msg {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.06) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .smart-drawer-ai-spinner {
  border-color: rgba(255, 255, 255, 0.1) !important;
  border-top-color: #6E8A7E !important;
}

[data-theme="dark"] .ai-field-badge--high {
  background: rgba(110, 138, 126, 0.15) !important;
  color: #6E8A7E !important;
}

[data-theme="dark"] .ai-field-badge--inferred {
  background: rgba(251, 191, 36, 0.12) !important;
  color: #fbbf24 !important;
}

[data-theme="dark"] .smart-drawer select.time-select {
  background-color: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #E8DDD4 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23C8BEB2' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
}

[data-theme="dark"] .smart-drawer .flatpickr-input {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .date-chip.active,
[data-theme="dark"] .smart-drawer .date-chip.active {
  background: var(--bb-sage-dark) !important;
  color: #fff !important;
  border-color: var(--bb-sage-dark) !important;
}

[data-theme="dark"] .cal-conflict-suggest-btn {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #C8BEB2 !important;
}

[data-theme="dark"] .cal-conflict-suggest-btn:hover {
  background: rgba(110, 138, 126, 0.1) !important;
  border-color: rgba(110, 138, 126, 0.2) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .char-count {
  color: rgba(200, 190, 178, 0.5) !important;
}

[data-theme="dark"] .cat-color-dot {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1) !important;
}

@media (max-width: 575px) {
  .cal-drawer {
    border-radius: 18px 18px 0 0 !important;
  }

  .cal-drawer-overlay.active {
    background: rgba(92, 77, 67, 0.2) !important;
  }
}

@media (max-width: 767px) {
  body:has(.cal-body) .flatpickr-calendar.open,
  body:has(.cal-body) .flatpickr-calendar.inline {
    width: calc(100vw - 24px) !important;
    max-width: 320px !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: 0 !important;
    position: fixed !important;
    transform: translateX(-50%) !important;
    border-radius: var(--bb-radius-card) var(--bb-radius-card) 0 0 !important;
    z-index: 9999 !important;
    padding: 8px 6px max(12px, env(safe-area-inset-bottom, 0px)) !important;
    max-height: 82dvh !important;
    max-height: 82vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body:has(.cal-body) .flatpickr-months {
    padding: 8px 12px !important;
  }

  body:has(.cal-body) .flatpickr-days,
  body:has(.cal-body) .dayContainer {
    width: 308px !important;
    min-width: 308px !important;
    max-width: 308px !important;
  }

  body:has(.cal-body) .flatpickr-day {
    width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    line-height: 44px !important;
    margin: 0 !important;
  }
}

@media (max-width: 375px) {
  body:has(.cal-body) .flatpickr-calendar.open,
  body:has(.cal-body) .flatpickr-calendar.inline {
    width: 100vw !important;
    max-width: 100vw !important;
    border-radius: var(--bb-radius-card) var(--bb-radius-card) 0 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) and (orientation: portrait) {
  .cal-drawer {
    border-radius: 18px 18px 0 0 !important;
  }

  .cal-drawer::before {
    background: rgba(228, 220, 212, 0.5) !important;
  }
}

.cal-view-dropdown-menu {
  background: rgba(255, 254, 251, 0.95) !important;
  border: 1px solid rgba(110, 138, 126, 0.12) !important;
  border-radius: 16px !important;
  box-shadow: var(--bb-shadow-card) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

.cal-view-dropdown-item {
  font-family: var(--bb-font-sans) !important;
  border-radius: 10px !important;
  color: var(--bb-warm-text) !important;
  /* #2938: icon + label sit together on the left now that the D/W/M/L hint is hidden. */
  justify-content: flex-start !important;
  gap: 10px !important;
}

.cal-view-dropdown-item:hover {
  background: rgba(110, 138, 126, 0.08) !important;
}

.cal-view-dropdown-item.active {
  background: var(--bb-sage-bg) !important;
  color: var(--bb-sage-dark) !important;
  font-weight: 600 !important;
}

/* #2938: per-view icons (day/week/month/list) via the existing data-view hook. */
.cal-view-dropdown-item::before {
  content: '' !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  background: currentColor !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
}

.cal-view-dropdown-item[data-view="timeGridDay"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='9' y='3' width='6' height='18' rx='1.5'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='9' y='3' width='6' height='18' rx='1.5'/%3E%3C/svg%3E") !important;
}

.cal-view-dropdown-item[data-view="timeGridWeek"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='3' width='4' height='18' rx='1'/%3E%3Crect x='10' y='3' width='4' height='18' rx='1'/%3E%3Crect x='17' y='3' width='4' height='18' rx='1'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='3' width='4' height='18' rx='1'/%3E%3Crect x='10' y='3' width='4' height='18' rx='1'/%3E%3Crect x='17' y='3' width='4' height='18' rx='1'/%3E%3C/svg%3E") !important;
}

.cal-view-dropdown-item[data-view="dayGridMonth"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E") !important;
}

.cal-view-dropdown-item[data-view="listMonth"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='8' y1='6' x2='20' y2='6'/%3E%3Cline x1='8' y1='12' x2='20' y2='12'/%3E%3Cline x1='8' y1='18' x2='20' y2='18'/%3E%3Ccircle cx='4' cy='6' r='1.4'/%3E%3Ccircle cx='4' cy='12' r='1.4'/%3E%3Ccircle cx='4' cy='18' r='1.4'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='8' y1='6' x2='20' y2='6'/%3E%3Cline x1='8' y1='12' x2='20' y2='12'/%3E%3Cline x1='8' y1='18' x2='20' y2='18'/%3E%3Ccircle cx='4' cy='6' r='1.4'/%3E%3Ccircle cx='4' cy='12' r='1.4'/%3E%3Ccircle cx='4' cy='18' r='1.4'/%3E%3C/svg%3E") !important;
}

.cal-view-dropdown-shortcut {
  font-family: var(--bb-font-sans) !important;
  background: rgba(110, 138, 126, 0.1) !important;
  color: var(--bb-warm-text-light) !important;
  border-radius: 6px !important;
  /* #2938: D/W/M/L hints are decorative (real shortcuts live in toolbar.js); hide visually. */
  display: none !important;
}

.cal-skeleton-pill {
  background: rgba(110, 138, 126, 0.12) !important;
  border-radius: 10px !important;
}

.cal-skeleton-event {
  border-radius: 8px !important;
}

.cal-body ::-webkit-scrollbar {
  width: 6px;
}

.cal-body ::-webkit-scrollbar-track {
  background: transparent;
}

.cal-body ::-webkit-scrollbar-thumb {
  background: rgba(154, 142, 130, 0.25);
  border-radius: 3px;
}

.cal-body ::-webkit-scrollbar-thumb:hover {
  background: rgba(154, 142, 130, 0.4);
}

.cal-view-segmented .cal-view-seg-btn {
  font-family: var(--bb-font-sans) !important;
  border-color: rgba(110, 138, 126, 0.15) !important;
}

.cal-view-segmented .cal-view-seg-btn.active {
  background: var(--bb-sage-bg) !important;
  color: var(--bb-sage-dark) !important;
  border-color: var(--bb-sage) !important;
  font-weight: var(--font-weight-semibold) !important;
}

@media (max-width: 767px) {
  .sk-m-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    border: none;
    background: transparent;
    color: var(--bb-warm-text-light);
    font-family: var(--bb-font-sans);
    font-weight: 600;
    font-size: var(--font-size-xs);
    padding: 4px 0;
    cursor: pointer;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
    transition: transform 100ms ease, opacity 100ms ease, color 150ms ease;
  }

  .sk-m-btn svg {
    flex-shrink: 0;
  }

  .sk-m-btn.sk-m-primary {
    background: var(--bb-sage-dark);
    color: #fff;
    padding: 8px 16px;
    border-radius: 12px;
    box-shadow: var(--bb-shadow-cta);
    transition: transform 100ms ease, opacity 100ms ease, background 150ms ease;
  }
}

@media (max-width: 767px) {
  .cal-body .fc-view-harness,
  .cal-body .fc-view-harness.fc-view-harness-active {
    margin: 0 12px 0 !important;
    border-radius: 14px !important;
  }

  .cal-body .fc-theme-standard .fc-scrollgrid,
  .cal-body .fc-scrollgrid {
    border-radius: 14px !important;
  }

  .cal-body .fc-daygrid-day-frame {
    min-height: 84px !important;
    padding: 0 4px 6px !important;
  }

  .cal-body .fc-daygrid-day-number {
    font-size: 13px !important;
    padding-right: 8px !important;
  }

  .sk-m-btn.sk-m-primary {
    background: var(--bb-sage-dark) !important;
    color: #fff !important;
    border-radius: 12px !important;
    box-shadow: var(--bb-shadow-cta) !important;
  }
}
/* ==========================================================================
   LIST VIEW - Blod Bolge Warm Override
   Targets: kalender-list.css custom list component (.cal-lv-*)
   ========================================================================== */

.cal-list-view {
  background: transparent !important;
}

.cal-list-view__scroll::-webkit-scrollbar-thumb {
  background: rgba(184, 168, 152, 0.3) !important;
}

.cal-list-view__scroll::-webkit-scrollbar-thumb:hover {
  background: rgba(184, 168, 152, 0.5) !important;
}

.cal-lv-day__header {
  background: transparent !important;
}

.cal-lv-day__name {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
}

.cal-lv-day__date {
  font-family: var(--bb-font-serif) !important;
  color: var(--bb-warm-text) !important;
}

.cal-lv-day__badge {
  background: var(--bb-sage-dark) !important;
  color: var(--bb-white) !important;
  font-family: var(--bb-font-sans) !important;
}

.cal-lv-day--today .cal-lv-day__date {
  color: var(--bb-sage-dark) !important;
}

.cal-lv-event {
  --_cat-color: var(--bb-sage);
  --_cat-bg: rgba(110, 138, 126, 0.12);
  --_cat-bg-hover: rgba(110, 138, 126, 0.20);
  --_cat-text: var(--bb-sage-dark);
  border-radius: 12px !important;
}

.cal-lv-event:hover {
  box-shadow: 0 2px 12px rgba(92, 77, 67, 0.08) !important;
}

.cal-lv-event__time,
.cal-lv-event__title,
.cal-lv-event__desc {
  font-family: var(--bb-font-sans) !important;
}

.cal-lv-event__chip {
  font-family: var(--bb-font-sans) !important;
  background: rgba(255, 254, 251, 0.72) !important;
  border-radius: 10px !important;
}

/* ==========================================================================
   DESKTOP LIST-VIEW POLISH — >=769px (issue #2694)
   Mobile <769px unchanged; 641–768px uses the shared warm-override base.
   .cal-body prefix gives specificity over 60-dark-mode / 70-accessibility
   rules that set color on the same selectors later in the cascade.
   ========================================================================== */
@media (min-width: 769px) {
  .cal-body .cal-lv-day__header {
    display: flex !important;
    align-items: baseline !important;
    gap: 10px !important;
    padding: 20px 8px 10px !important;
    margin: 0 !important;
    line-height: 1.3 !important;
  }

  .cal-body .cal-lv-day {
    border-top: 0 !important;
  }

  .cal-body .cal-lv-day__name {
    font-size: var(--font-size-xs) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    color: rgba(92, 77, 67, 0.65) !important;
  }

  .cal-body .cal-lv-day__date {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: rgb(74, 122, 104) !important;
  }

  .cal-body .cal-lv-day__badge {
    display: inline-flex !important;
    align-items: center !important;
    height: 20px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: rgb(74, 122, 104) !important;
    color: #fff !important;
    font-size: var(--font-size-xs) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    line-height: 20px !important;
  }

  .cal-body .cal-lv-day--today .cal-lv-day__date {
    color: rgb(74, 122, 104) !important;
  }

  .cal-body .cal-lv-event__body {
    align-items: center !important;
  }

  .cal-body .cal-lv-event__chip {
    display: inline-flex !important;
    align-items: center !important;
    height: 20px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: rgba(92, 77, 67, 0.08) !important;
    color: rgba(92, 77, 67, 0.78) !important;
    border: 1px solid rgba(92, 77, 67, 0.12) !important;
    font-size: var(--font-size-xs) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    line-height: 20px !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-day__name {
    color: rgba(232, 224, 216, 0.55) !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-day__date {
    color: rgb(140, 188, 168) !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-day__badge {
    background: rgb(74, 122, 104) !important;
    color: #fff !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-day--today .cal-lv-day__date {
    color: rgb(140, 188, 168) !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-event__chip {
    background: rgba(232, 224, 216, 0.06) !important;
    color: rgba(232, 224, 216, 0.60) !important;
    border-color: rgba(232, 224, 216, 0.10) !important;
  }
}

.cal-lv-empty {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
}

.cal-lv-event.cat-personlig,
.cal-lv-event.cat-google_cal,
.cal-lv-event.cat-skole,
.cal-lv-event.cat-proeve,
.cal-lv-event:not([class*="cat-"]) {
  --_cat-color: var(--bb-sage);
  --_cat-bg: rgba(110, 138, 126, 0.14);
  --_cat-bg-hover: rgba(110, 138, 126, 0.22);
  --_cat-text: var(--bb-sage-dark);
}

.cal-lv-event.cat-moeder,
.cal-lv-event.cat-grammatik {
  --_cat-color: var(--bb-sage);
  --_cat-bg: rgba(168, 197, 184, 0.16);
  --_cat-bg-hover: rgba(168, 197, 184, 0.24);
  --_cat-text: var(--bb-sage-dark);
}

.cal-lv-event.cat-deadline,
.cal-lv-event.cat-aflevering {
  --_cat-color: var(--bb-rose);
  --_cat-bg: rgba(212, 168, 154, 0.16);
  --_cat-bg-hover: rgba(212, 168, 154, 0.24);
  --_cat-text: var(--bb-rose-dark);
}

.cal-lv-event.cat-arbejde {
  --_cat-color: var(--bb-sage-dark);
  --_cat-bg: rgba(74, 122, 104, 0.12);
  --_cat-bg-hover: rgba(74, 122, 104, 0.20);
  --_cat-text: var(--bb-sage-dark);
}

.cal-lv-event.cat-andet {
  --_cat-color: var(--bb-muted);
  --_cat-bg: rgba(184, 168, 152, 0.12);
  --_cat-bg-hover: rgba(184, 168, 152, 0.20);
  --_cat-text: var(--bb-warm-text-light);
}

.cal-lv-event.cat-recurring {
  --_cat-color: var(--bb-muted-warm);
  --_cat-bg: rgba(154, 142, 130, 0.12);
  --_cat-bg-hover: rgba(154, 142, 130, 0.20);
  --_cat-text: var(--bb-muted-warm-accessible);
}

/* List-view chip warm overrides */
.cal-list-card__chip.cat-chip--personlig,
.cal-list-card__chip.cat-chip--google_cal,
.cal-list-card__chip.cat-chip--skole {
  --chip-color: var(--bb-sage-dark) !important;
}

.cal-list-card__chip.cat-chip--moeder,
.cal-list-card__chip.cat-chip--arbejde,
.cal-list-card__chip.cat-chip--grammatik {
  --chip-color: var(--bb-sage-dark, #4A7A68) !important;
}

.cal-list-card__chip.cat-chip--deadline,
.cal-list-card__chip.cat-chip--aflevering {
  --chip-color: var(--bb-rose-dark, #9B6050) !important;
}

.cal-list-card__chip.cat-chip--andet {
  --chip-color: #D4A060 !important;
}

.cal-list-card__chip.cat-chip--proeve {
  --chip-color: #8C7B6F !important;
}

/* ==========================================================================
   FC LIST VIEW (listWeek) - Blod Bolge Warm
   ========================================================================== */

.cal-body .fc-list-day-cushion {
  background: rgba(250, 247, 243, 0.5) !important;
  color: var(--bb-warm-text) !important;
  font-family: var(--bb-font-serif) !important;
}

.cal-body .fc-list-day.fc-day-today .fc-list-day-cushion {
  background: rgba(110, 138, 126, 0.12) !important;
  color: var(--bb-sage-dark) !important;
}

.cal-body .fc-list-day.fc-day-past .fc-list-day-cushion {
  opacity: 0.5;
}

.cal-body .fc-list-day-side-text {
  color: var(--bb-warm-text-light) !important;
}

.cal-body .fc-list-day-text,
.cal-body .fc-list-day-side-text {
  font-family: var(--bb-font-serif) !important;
  font-weight: 500 !important;
  color: var(--bb-warm-text) !important;
}

.cal-body .fc-list-event td {
  background: transparent !important;
  color: var(--bb-warm-text) !important;
  font-family: var(--bb-font-sans) !important;
}

.cal-body .fc-list-event:hover td {
  background: rgba(110, 138, 126, 0.06) !important;
}

.cal-body .fc-list-event-time {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
}

.cal-body .fc-list-event-dot {
  border-color: var(--bb-sage) !important;
}

.cal-body .fc-list .cal-list-card__title {
  color: var(--bb-warm-text) !important;
  font-family: var(--bb-font-sans) !important;
}

.cal-body .fc-list-empty {
  background: transparent !important;
}

.cal-body .fc-list-empty-cushion {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
}

/* ==========================================================================
   WEEK/DAY TIMEGRID - Blod Bolge Warm
   ========================================================================== */

.cal-body .fc-timegrid .fc-col-header-cell-cushion {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
  opacity: 1 !important;
  font-size: var(--font-size-xs) !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
}

.cal-body .fc-timegrid .fc-col-header-cell.fc-day-today .fc-col-header-cell-cushion {
  color: var(--bb-sage-dark) !important;
  opacity: 1 !important;
  background: rgba(110, 138, 126, 0.10) !important;
  border-radius: 8px !important;
}

.cal-body .fc-timegrid-slot-label-cushion {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
  opacity: 0.7 !important;
  font-variant-numeric: tabular-nums !important;
}

.cal-body .fc-timegrid-slot {
  border-color: rgba(228, 220, 212, 0.3) !important;
}

.cal-body .fc-timegrid-slot.fc-timegrid-slot-lane[data-time$=":00:00"] {
  border-top-color: rgba(228, 220, 212, 0.5) !important;
}

.cal-body .fc-timegrid-slot.fc-timegrid-slot-lane[data-time$=":30:00"] {
  border-top-color: rgba(228, 220, 212, 0.25) !important;
}

.cal-body .fc-scrollgrid .fc-timegrid-col {
  border-right-color: rgba(228, 220, 212, 0.35) !important;
}

.cal-body .fc-timegrid-col {
  border-right-color: rgba(228, 220, 212, 0.35) !important;
}

.cal-body .fc-timegrid-col:hover {
  background: rgba(212, 168, 154, 0.04) !important;
}

.cal-body .fc-timegrid-col.fc-day-today {
  background: rgba(110, 138, 126, 0.06) !important;
}

.cal-body .fc-timegrid-axis {
  border-right-color: rgba(228, 220, 212, 0.4) !important;
}

.cal-body .fc-timegrid .fc-highlight {
  background: rgba(110, 138, 126, 0.08) !important;
  border-color: rgba(110, 138, 126, 0.15) !important;
}

.cal-body .fc-timegrid-slot.fc-slot-highlight {
  background: rgba(110, 138, 126, 0.06) !important;
}

.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="08:00:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="08:30:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="09:00:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="09:30:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="10:00:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="10:30:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="11:00:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="11:30:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="12:00:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="12:30:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="13:00:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="13:30:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="14:00:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="14:30:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="15:00:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="15:30:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="16:00:00"],
.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-slot[data-time="16:30:00"] {
  background: rgba(250, 247, 243, 0.4) !important;
}

/* ==========================================================================
   DAY/WEEK VIEW EVENT CONTENT - Blod Bolge Font + Warm
   ========================================================================== */

.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-event {
  font-family: var(--bb-font-sans) !important;
  box-shadow: 0 1px 4px rgba(92, 77, 67, 0.07), 0 0 0 1px rgba(228, 220, 212, 0.2) !important;
}

.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-event:hover {
  box-shadow: 0 4px 14px rgba(92, 77, 67, 0.10), 0 1px 4px rgba(92, 77, 67, 0.06) !important;
}

.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-event:focus-visible {
  outline: none !important;
  outline-offset: 2px !important;
}

.cal-body .fc-view-harness .fc-timeGridWeek-view .fc-timegrid-event {
  font-family: var(--bb-font-sans) !important;
}

.cal-tg-event,
.cal-tg-title,
.cal-tg-time {
  font-family: var(--bb-font-sans) !important;
}

.cal-tg-dot {
  box-shadow: 0 0 0 2px rgba(255, 254, 251, 0.7) !important;
}

.cal-day-header-weekday {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
  opacity: 1 !important;
}

.cal-day-header-num {
  font-family: var(--bb-font-serif) !important;
  color: var(--bb-warm-text) !important;
}

.fc-day-today .cal-day-header-num {
  background: var(--bb-sage-dark) !important;
  color: var(--bb-white) !important;
  box-shadow: 0 2px 8px rgba(212, 168, 154, 0.35) !important;
}

.cal-day-header-month {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
}

/* Now indicator - warm sage instead of Google red */
.cal-body .fc-timegrid-now-indicator-line {
  border-color: var(--bb-sage-dark) !important;
}

.cal-body .fc-timegrid-col.fc-day-today .fc-timegrid-now-indicator-line::before {
  background: var(--bb-sage-dark) !important;
}

.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-more-link {
  background: var(--bb-sage-dark) !important;
  color: var(--bb-white) !important;
  box-shadow: 0 2px 8px rgba(212, 168, 154, 0.35) !important;
}

.cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-more-link:hover {
  background: var(--bb-sage-dark) !important;
  box-shadow: 0 4px 14px rgba(212, 168, 154, 0.42) !important;
}

.cal-body .fc-view-harness .fc-timeGridWeek-view .fc-timegrid-more-link {
  background: var(--bb-sage-dark) !important;
  color: var(--bb-white) !important;
  box-shadow: 0 1px 4px rgba(212, 168, 154, 0.30) !important;
}

.cal-body .fc-timegrid-more-link {
  color: var(--bb-sage-dark) !important;
}

.cal-body .fc-timegrid-more-link:hover {
  color: var(--bb-warm-text) !important;
  background: rgba(110, 138, 126, 0.08) !important;
}

/* More popover - warm glasmorfisme */
.cal-body .fc-popover.fc-more-popover {
  font-family: var(--bb-font-sans) !important;
  background: rgba(255, 254, 251, 0.95) !important;
  border: 1px solid rgba(228, 220, 212, 0.5) !important;
  border-radius: 18px !important;
  box-shadow: var(--bb-shadow-card) !important;
  backdrop-filter: blur(16px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.4) !important;
}

.cal-body .fc-popover.fc-more-popover .fc-popover-header {
  background: rgba(250, 247, 243, 0.8) !important;
  border-bottom-color: rgba(228, 220, 212, 0.4) !important;
}

.cal-body .fc-popover.fc-more-popover .fc-popover-title {
  font-family: var(--bb-font-serif) !important;
  color: var(--bb-warm-text) !important;
}

.cal-body .fc-popover.fc-more-popover .fc-popover-close:hover {
  background: rgba(212, 168, 154, 0.08) !important;
  color: var(--bb-warm-text) !important;
}

.cal-body .fc-popover.fc-more-popover .fc-popover-body::-webkit-scrollbar-thumb {
  background: rgba(184, 168, 152, 0.3) !important;
}

.cal-body .fc-popover.fc-more-popover .fc-event:hover {
  background: var(--cat-bg-hover, rgba(110, 138, 126, 0.12)) !important;
}

@media (max-width: 480px) {
  .cal-body .fc-view-harness:has(.fc-timeGridWeek-view) {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
  }

  .cal-body .fc-timeGridWeek-view {
    min-width: 720px !important;
  }

  .cal-body .fc-timeGridWeek-view .fc-scrollgrid,
  .cal-body .fc-timeGridWeek-view .fc-timegrid-body,
  .cal-body .fc-timeGridWeek-view .fc-timegrid-body table {
    min-width: 720px !important;
  }

  .cal-body .fc-timeGridWeek-view .fc-col-header-cell,
  .cal-body .fc-timeGridWeek-view .fc-timegrid-col {
    min-width: 88px !important;
    scroll-snap-align: start !important;
  }

  .cal-body .fc-timeGridWeek-view .fc-scroller-liquid-absolute {
    overflow-x: visible !important;
  }

  .cal-body .fc-view-harness .fc-timeGridWeek-view .fc-timegrid-event,
  .cal-body .fc-view-harness .fc-timeGridWeek-view .fc-timegrid-more-link {
    min-height: 44px !important;
  }

  .cal-body .fc-popover.fc-more-popover {
    position: fixed !important;
    inset: auto 0 0 0 !important;
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    max-height: 60dvh !important;
    max-height: 60vh !important;
    border-radius: var(--bb-radius-card) var(--bb-radius-card) 0 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 180 !important;
    padding-bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* ==========================================================================
   CALM MOBILE CUSTOM LIST VIEW (issue #1839)
   Mobile-only at ≤640px. Desktop >640px must remain identical.
   Scoped to .cal-body .cal-lv-* only — no .fc-list-* selectors.
   ========================================================================== */
@media (max-width: 640px) {

  /* --- Day header --- */
  .cal-body .cal-lv-day__header {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding: 16px 14px 8px !important;
    margin: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .cal-body .cal-lv-day__name {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.10em !important;
    text-transform: uppercase !important;
    color: #9A8E82 !important;
    line-height: 1 !important;
    order: 1 !important;
  }

  .cal-body .cal-lv-day__date {
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    color: #3A2F26 !important;
    line-height: 1 !important;
    order: 2 !important;
  }

  .cal-body .cal-lv-day__badge {
    background: rgba(110, 138, 126, 0.10) !important;
    color: #3A2F26 !important;
    border: 1px solid rgba(110, 138, 126, 0.30) !important;
    border-radius: 10px !important;
    padding: 2px 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    order: 3 !important;
    line-height: 1.2 !important;
  }

  /* --- Past day headers hidden, events remain --- */
  .cal-body .cal-lv-day.cal-lv-day--past > .cal-lv-day__header {
    display: none !important;
  }

  .cal-body .cal-lv-day.cal-lv-day--past + .cal-lv-day.cal-lv-day--past {
    margin-top: 0 !important;
  }

  .cal-body .cal-lv-day:not(.cal-lv-day--past) + .cal-lv-day.cal-lv-day--past,
  .cal-body .cal-lv-day.cal-lv-day--past:first-child {
    margin-top: 6px !important;
  }

  /* --- Event row --- */
  .cal-body .cal-lv-event {
    display: flex !important;
    align-items: center !important;
    background: #FFFEFB !important;
    border: 1px solid rgba(58, 47, 38, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 0 rgba(58, 47, 38, 0.03) !important;
    margin: 6px 14px !important;
    padding: 0 !important;
    min-height: 52px !important;
    overflow: hidden !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .cal-body .cal-lv-event:hover,
  .cal-body .cal-lv-event:focus-within {
    background: #FBF8F2 !important;
    border-color: rgba(58, 47, 38, 0.14) !important;
    transform: none !important;
    box-shadow: 0 1px 0 rgba(58, 47, 38, 0.03) !important;
  }

  /* --- Left bar hidden --- */
  .cal-body .cal-lv-event__bar {
    display: none !important;
  }

  /* --- Time column --- */
  .cal-body .cal-lv-event__time {
    flex: 0 0 92px !important;
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    box-sizing: border-box !important;
    padding: 12px 0 12px 14px !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: #5C4D43 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.3 !important;
    font-variant-numeric: tabular-nums !important;
  }

  /* --- Event body --- */
  .cal-body .cal-lv-event__body {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 14px 10px 14px !important;
    min-width: 0 !important;
  }

  /* --- Event title — two-line wrap for long Danish compounds --- */
  .cal-body .cal-lv-event__title {
    flex: 1 1 auto !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #3A2F26 !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    min-width: 0 !important;
  }

  /* --- Category chip — landmark style --- */
  .cal-body .cal-lv-event__chip {
    flex: 0 0 auto !important;
    background: transparent !important;
    color: #9A8E82 !important;
    border: 1px solid rgba(58, 47, 38, 0.10) !important;
    border-radius: 10px !important;
    padding: 2px 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.10em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  /* --- Past events — targeted color muting, no whole-row opacity --- */
  .cal-body .cal-lv-event--past {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .cal-body .cal-lv-event--past .cal-lv-event__time {
    color: #B8A898 !important;
  }

  .cal-body .cal-lv-event--past .cal-lv-event__title {
    color: #9A8E82 !important;
  }

  .cal-body .cal-lv-event--past .cal-lv-event__chip {
    color: #C8BEB2 !important;
    border-color: rgba(58, 47, 38, 0.06) !important;
  }

  /* --- Today's events stronger border --- */
  .cal-body .cal-lv-day--today .cal-lv-event {
    border-color: rgba(58, 47, 38, 0.12) !important;
  }

  /* --- Dark mode: mobile list overrides --- */
  [data-theme="dark"] .cal-body .cal-lv-event {
    background: rgba(42, 38, 34, 0.85) !important;
    border-color: rgba(232, 224, 216, 0.08) !important;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12) !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-event:hover,
  [data-theme="dark"] .cal-body .cal-lv-event:focus-within {
    background: rgba(212, 168, 154, 0.06) !important;
    border-color: rgba(232, 224, 216, 0.14) !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-event__time {
    color: #C8BEB2 !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-event__title {
    color: #E8DDD4 !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-event__chip {
    color: #C8BEB2 !important;
    border-color: rgba(232, 224, 216, 0.10) !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-day__name {
    color: #C8BEB2 !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-day__date {
    color: #E8DDD4 !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-day__badge {
    background: rgba(110, 138, 126, 0.14) !important;
    color: #E8DDD4 !important;
    border-color: rgba(110, 138, 126, 0.30) !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-day--today .cal-lv-event {
    border-color: rgba(232, 224, 216, 0.14) !important;
  }

  /* --- Dark mode: past event targeted muting --- */
  [data-theme="dark"] .cal-body .cal-lv-event--past .cal-lv-event__time {
    color: #7A706A !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-event--past .cal-lv-event__title {
    color: #8A7E72 !important;
  }

  [data-theme="dark"] .cal-body .cal-lv-event--past .cal-lv-event__chip {
    color: #7A706A !important;
    border-color: rgba(232, 224, 216, 0.06) !important;
  }
}
/* ===========================
   Calendar darkmode calm override
   DARK MODE - Blod Bolge Warm
   =========================== */
[data-theme="dark"] body:has(.cal-main),
[data-theme="dark"] body:has(.cal-main) .app,
[data-theme="dark"] .kalender-app,
[data-theme="dark"] .app:has(.cal-main),
[data-theme="dark"] .app {
  /* #3225 — consume the shared app dark canvas (assets/css/blod-bolge-shell.css). */
  background: var(--app-dark-canvas) !important;
}

[data-theme="dark"] .app:has(.cal-main)::before,
[data-theme="dark"] body:has(.cal-main) .app::before {
  content: none;
  display: none;
}

[data-theme="dark"] .cal-main::before,
[data-theme="dark"] .cal-main::after {
  border-color: rgba(212, 168, 154, 0.08) !important;
}

[data-theme="dark"] .decorative-arcs,
[data-theme="dark"] .decorative-arcs-2 {
  border-color: rgba(212, 168, 154, 0.07) !important;
  opacity: 0.38;
}

[data-theme="dark"] .decorative-arcs-bl,
[data-theme="dark"] .decorative-arcs-bl-2 {
  border-color: rgba(168, 197, 184, 0.07) !important;
  opacity: 0.35;
}

[data-theme="dark"] .cal-body .fc-toolbar,
[data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr,
[data-theme="dark"] .cal-body .fc-view-harness,
[data-theme="dark"] .nl-bar-inner,
[data-theme="dark"] .nl-result,
[data-theme="dark"] .cal-filter-popover,
[data-theme="dark"] .cal-view-dropdown-menu,
[data-theme="dark"] .cal-quick-add-card {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Dark mode: List/week/day warm views */
[data-theme="dark"] .cal-list-view,
[data-theme="dark"] .cal-lv-day__header {
  background: transparent !important;
}

[data-theme="dark"] .cal-lv-day__name {
  color: var(--bb-dark-text-secondary, #C8BEB2) !important;
}

[data-theme="dark"] .cal-lv-day__date {
  color: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .cal-lv-day__badge {
  background: #5F7C70 !important;
  color: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .cal-lv-day--today .cal-lv-day__date {
  color: var(--bb-sage) !important;
}

[data-theme="dark"] .cal-lv-event {
  --_cat-bg: rgba(110, 138, 126, 0.10);
  --_cat-bg-hover: rgba(110, 138, 126, 0.18);
  --_cat-text: var(--bb-dark-text-secondary, #C8BEB2);
}

[data-theme="dark"] .cal-lv-event:hover {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .cal-lv-event__chip {
  background: rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .cal-lv-empty {
  color: var(--bb-dark-text-secondary, #C8BEB2) !important;
}

[data-theme="dark"] .cal-lv-event.cat-personlig,
[data-theme="dark"] .cal-lv-event.cat-google_cal,
[data-theme="dark"] .cal-lv-event.cat-skole,
[data-theme="dark"] .cal-lv-event.cat-proeve,
[data-theme="dark"] .cal-lv-event:not([class*="cat-"]) {
  --_cat-color: var(--bb-sage);
  --_cat-bg: rgba(110, 138, 126, 0.10);
  --_cat-bg-hover: rgba(110, 138, 126, 0.18);
  --_cat-text: var(--bb-dark-text-secondary, #C8BEB2);
}

[data-theme="dark"] .cal-lv-event.cat-moeder,
[data-theme="dark"] .cal-lv-event.cat-grammatik {
  --_cat-color: var(--bb-sage);
  --_cat-bg: rgba(168, 197, 184, 0.10);
  --_cat-bg-hover: rgba(168, 197, 184, 0.18);
  --_cat-text: var(--bb-sage);
}

[data-theme="dark"] .cal-lv-event.cat-deadline,
[data-theme="dark"] .cal-lv-event.cat-aflevering {
  --_cat-color: var(--bb-rose);
  --_cat-bg: rgba(212, 168, 154, 0.10);
  --_cat-bg-hover: rgba(212, 168, 154, 0.18);
  --_cat-text: var(--bb-rose);
}

[data-theme="dark"] .cal-lv-event.cat-arbejde {
  --_cat-color: var(--bb-sage);
  --_cat-bg: rgba(74, 122, 104, 0.12);
  --_cat-bg-hover: rgba(74, 122, 104, 0.20);
  --_cat-text: var(--bb-sage);
}

[data-theme="dark"] .cal-lv-event.cat-andet {
  --_cat-color: var(--bb-muted);
  --_cat-bg: rgba(184, 168, 152, 0.10);
  --_cat-bg-hover: rgba(184, 168, 152, 0.18);
  --_cat-text: var(--bb-dark-text-secondary, #C8BEB2);
}

[data-theme="dark"] .fc-timegrid-event.cat-personlig,
[data-theme="dark"] .fc-timegrid-event.cat-google_cal,
[data-theme="dark"] .fc-timegrid-event.cat-skole,
[data-theme="dark"] .fc-timegrid-event.cat-proeve,
[data-theme="dark"] .fc-timegrid-event:not([class*="cat-"]) {
  --_cat-color: var(--bb-sage) !important;
  --_cat-bg: rgba(110, 138, 126, 0.24) !important;
  --_cat-bg-hover: rgba(110, 138, 126, 0.32) !important;
  --_cat-text: var(--bb-dark-text-secondary, #C8BEB2) !important;
}

[data-theme="dark"] .fc-timegrid-event.cat-moeder,
[data-theme="dark"] .fc-timegrid-event.cat-grammatik {
  --_cat-color: var(--bb-sage) !important;
  --_cat-bg: rgba(168, 197, 184, 0.24) !important;
  --_cat-bg-hover: rgba(168, 197, 184, 0.32) !important;
  --_cat-text: var(--bb-sage) !important;
}

[data-theme="dark"] .fc-timegrid-event.cat-deadline,
[data-theme="dark"] .fc-timegrid-event.cat-aflevering {
  --_cat-color: var(--bb-rose) !important;
  --_cat-bg: rgba(212, 168, 154, 0.24) !important;
  --_cat-bg-hover: rgba(212, 168, 154, 0.32) !important;
  --_cat-text: var(--bb-rose) !important;
}

[data-theme="dark"] .fc-timegrid-event.cat-arbejde {
  --_cat-color: var(--bb-sage) !important;
  --_cat-bg: rgba(74, 122, 104, 0.24) !important;
  --_cat-bg-hover: rgba(74, 122, 104, 0.32) !important;
  --_cat-text: var(--bb-sage) !important;
}

[data-theme="dark"] .fc-timegrid-event.cat-andet {
  --_cat-color: var(--bb-muted) !important;
  --_cat-bg: rgba(184, 168, 152, 0.24) !important;
  --_cat-bg-hover: rgba(184, 168, 152, 0.32) !important;
  --_cat-text: var(--bb-dark-text-secondary, #C8BEB2) !important;
}

[data-theme="dark"] .cal-body .fc-list-day-cushion {
  background: rgba(255, 255, 255, 0.03) !important;
  color: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .cal-body .fc-list-day.fc-day-today .fc-list-day-cushion {
  background: rgba(110, 138, 126, 0.10) !important;
  color: var(--bb-sage) !important;
}

[data-theme="dark"] .cal-body .fc-list-day-side-text,
[data-theme="dark"] .cal-body .fc-list-event-time,
[data-theme="dark"] .cal-body .fc-timegrid .fc-col-header-cell-cushion,
[data-theme="dark"] .cal-body .fc-timegrid-slot-label-cushion {
  color: var(--bb-dark-text-secondary, #C8BEB2) !important;
}

[data-theme="dark"] .cal-body .fc-list-event td {
  background: transparent !important;
  color: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .cal-body .fc-list-event:hover td {
  background: rgba(110, 138, 126, 0.06) !important;
}

[data-theme="dark"] .cal-body .fc-timegrid .fc-col-header-cell.fc-day-today .fc-col-header-cell-cushion {
  color: var(--bb-sage) !important;
  background: rgba(110, 138, 126, 0.08) !important;
}

[data-theme="dark"] .cal-body .fc-timegrid-slot {
  border-color: rgba(232, 224, 216, 0.06) !important;
}

[data-theme="dark"] .cal-body .fc-timegrid-slot.fc-timegrid-slot-lane[data-time$=":00:00"] {
  border-top-color: rgba(232, 224, 216, 0.10) !important;
}

[data-theme="dark"] .cal-body .fc-timegrid-slot.fc-timegrid-slot-lane[data-time$=":30:00"] {
  border-top-color: rgba(232, 224, 216, 0.05) !important;
}

[data-theme="dark"] .cal-body .fc-scrollgrid .fc-timegrid-col,
[data-theme="dark"] .cal-body .fc-timegrid-axis {
  border-right-color: rgba(232, 224, 216, 0.06) !important;
}

[data-theme="dark"] .cal-body .fc-timegrid-col:hover {
  background: rgba(212, 168, 154, 0.03) !important;
}

[data-theme="dark"] .cal-body .fc-timegrid-col.fc-day-today {
  background: rgba(110, 138, 126, 0.06) !important;
}

[data-theme="dark"] .cal-day-header-weekday,
[data-theme="dark"] .cal-day-header-month {
  color: var(--bb-dark-text-secondary, #C8BEB2) !important;
}

[data-theme="dark"] .cal-day-header-num {
  color: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .fc-day-today .cal-day-header-num {
  background: #5F7C70 !important;
  color: var(--bb-dark-text-primary, #E8DDD4) !important;
  box-shadow: 0 2px 8px rgba(212,168,154,0.5) !important;
}

[data-theme="dark"] .cal-body .fc-timegrid-now-indicator-line {
  border-color: var(--bb-sage) !important;
}

[data-theme="dark"] .cal-body .fc-timegrid-now-indicator-arrow {
  border-left-color: #6E8A7E !important;
  border-right-color: #6E8A7E !important;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
}

[data-theme="dark"] .cal-body .fc-timegrid-col.fc-day-today .fc-timegrid-now-indicator-line::before {
  background: var(--bb-sage) !important;
}

[data-theme="dark"] .cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-event {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .cal-tg-dot {
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="dark"] .cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-more-link,
[data-theme="dark"] .cal-body .fc-view-harness .fc-timeGridWeek-view .fc-timegrid-more-link {
  background: #5F7C70 !important;
  color: var(--bb-white) !important;
  box-shadow: 0 2px 8px rgba(212,168,154,0.5) !important;
}

[data-theme="dark"] .cal-body .fc-popover.fc-more-popover {
  background: rgba(42, 38, 34, 0.97) !important;
  border-color: rgba(232, 224, 216, 0.08) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-theme="dark"] .cal-body .fc-popover.fc-more-popover .fc-popover-header {
  background: rgba(255, 255, 255, 0.03) !important;
  border-bottom-color: rgba(232, 224, 216, 0.06) !important;
}

[data-theme="dark"] .cal-body .fc-popover.fc-more-popover .fc-popover-title {
  color: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .cal-body .fc-popover.fc-more-popover .fc-popover-close:hover {
  background: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .cal-body .fc-timegrid .fc-highlight {
  background: rgba(110, 138, 126, 0.06) !important;
  border-color: rgba(110, 138, 126, 0.10) !important;
}

[data-theme="dark"] .cal-card,
[data-theme="dark"] .cal-event,
[data-theme="dark"] .cal-body .fc-event,
[data-theme="dark"] .nl-bar-inner,
[data-theme="dark"] .cal-filter-popover,
[data-theme="dark"] .cal-view-dropdown-menu,
[data-theme="dark"] .cal-drawer {
  background: rgba(42, 38, 34, 0.85) !important;
  border-color: rgba(232, 224, 216, 0.08) !important;
}

[data-theme="dark"] .cal-header,
[data-theme="dark"] .cal-toolbar,
[data-theme="dark"] .cal-body .fc-toolbar,
[data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr {
  background: rgba(42, 38, 34, 0.70) !important;
  border-color: rgba(232, 224, 216, 0.08) !important;
}

[data-theme="dark"] .cal-body .fc-toolbar,
[data-theme="dark"] #calendar .fc-header-toolbar.fc-toolbar {
  box-shadow:
    rgba(0, 0, 0, 0.22) 0px 18px 42px 0px,
    rgba(0, 0, 0, 0.16) 0px 2px 8px 0px !important;
}

[data-theme="dark"] .cal-day-number,
[data-theme="dark"] .cal-body .fc-daygrid-day-number,
[data-theme="dark"] .cal-body .fc-col-header-cell-cushion,
[data-theme="dark"] .cal-body .fc-toolbar-title {
  color: #E8DDD4 !important;
}

[data-theme="dark"] #calendar,
[data-theme="dark"] #calendar .fc {
  color: rgb(232, 230, 225) !important;
}

[data-theme="dark"] #calendar .fc-day-today {
  color: rgb(232, 230, 225) !important;
}

[data-theme="dark"] .cal-day:hover,
[data-theme="dark"] .cal-body .fc-daygrid-day:hover,
[data-theme="dark"] .cal-view-dropdown-item:hover,
[data-theme="dark"] .cal-filter-popover .cal-add-cat-btn:hover {
  background: rgba(212, 168, 154, 0.06) !important;
}

[data-theme="dark"] .cal-day.today,
[data-theme="dark"] .cal-body .fc-daygrid-day.fc-day-today {
  background: rgba(110, 138, 126, 0.12) !important;
}

[data-theme="dark"] .cal-btn:hover,
[data-theme="dark"] .cal-body .fc-button:hover,
[data-theme="dark"] .gcal-toolbar-gear-btn:hover {
  background: rgba(212, 168, 154, 0.08) !important;
}

[data-theme="dark"] .gcal-connect-btn,
[data-theme="dark"] .cal-body .fc-filterCats-button,
[data-theme="dark"] .cal-body .fc-filterCats-button.fc-button,
[data-theme="dark"] .cal-body .fc-filterCats-button.fc-button.fc-button-primary {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #E8DDD4 !important;
  border-color: rgba(232, 224, 216, 0.12) !important;
}

/* #3050 — the Maaned view dropdown was omitted from the dark overrides while
   its sibling .fc-filterCats-button (above) had one, so the light
   rgba(255, 254, 251, 0.74) shell from 10-layout-calendar-shell.css kept
   winning in dark mode. Mirror the same neutral dark surface here. */
[data-theme="dark"] .cal-body .fc-viewDropdown-button,
[data-theme="dark"] .cal-body .fc-viewDropdown-button.fc-button,
[data-theme="dark"] .cal-body .fc-viewDropdown-button.fc-button.fc-button-primary {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #E8DDD4 !important;
  border-color: rgba(232, 224, 216, 0.12) !important;
}

[data-theme="dark"] .cal-view-dropdown-item.active {
  background: rgba(110, 138, 126, 0.2) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .cal-view-dropdown-item {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .cal-body .fc-theme-standard .fc-scrollgrid,
[data-theme="dark"] .cal-body .fc-scrollgrid,
[data-theme="dark"] .cal-body .fc-scrollgrid table,
[data-theme="dark"] .cal-body .fc-col-header,
[data-theme="dark"] .cal-body .fc-daygrid-body,
[data-theme="dark"] .cal-body .fc-scrollgrid-sync-table {
  background: rgba(42, 38, 34, 0.78) !important;
  border-color: rgba(232, 224, 216, 0.08) !important;
}

[data-theme="dark"] .cal-body .fc-scrollgrid td,
[data-theme="dark"] .cal-body .fc-scrollgrid th,
[data-theme="dark"] .cal-body .fc-theme-standard td,
[data-theme="dark"] .cal-body .fc-theme-standard th {
  border-color: rgba(232, 224, 216, 0.08) !important;
}

[data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-scrollgrid-section-body > td {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

[data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-body,
[data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-scrollgrid-sync-table {
  background: transparent !important;
}

[data-theme="dark"] .cal-body .fc-daygrid-day {
  background: transparent !important;
}

[data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-day {
  border-color: rgba(232, 224, 216, 0.08) !important;
  border-radius: 0 !important;
  background-clip: border-box !important;
  overflow: hidden !important;
}

[data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-sat,
[data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-sun {
  background: rgba(255, 255, 255, 0.02) !important;
}

[data-theme="dark"] .cal-body .fc-daygrid-day.fc-day-other,
[data-theme="dark"] .cal-body .fc-daygrid-day.fc-day-other:not(.fc-day-sat):not(.fc-day-sun) {
  background: transparent !important;
}

[data-theme="dark"] .cal-body .fc-daygrid-day.fc-day-today,
[data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-today.fc-day-sat,
[data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-today.fc-day-sun {
  background: rgba(110, 138, 126, 0.12) !important;
  /* #2938: soft sage inset ring marks today as the anchor (badge untouched). */
  box-shadow: inset 0 0 0 1.5px rgba(110, 138, 126, 0.45) !important;
}

[data-theme="dark"] .cal-body .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
  background: #5F7C70 !important;
  color: #F0EBE5 !important;
  box-shadow: 0 2px 12px rgba(212,168,154,0.5) !important;
}

[data-theme="dark"] #calendar .fc-day-other .fc-daygrid-day-number {
  color: #C8BEB2 !important;
  opacity: 0.45 !important;
}

/* Dark mode: today's past events remain readable. */
[data-theme="dark"] .cal-body .fc-day-today .fc-event.fc-event--past {
  opacity: 0.82;
}

[data-theme="dark"] .cal-body .fc-day-today .fc-event.fc-event--past:hover {
  opacity: 1;
}

/* #2938 dark mode: today's current/upcoming events are the active anchor -
   solid darkened category fill + white text (WCAG AA), pure accent kept. */
@media (min-width: 768px) {
  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-day-today .fc-event:not(.fc-event--past) {
    background: color-mix(in srgb, var(--cat-color, var(--bb-sage)) 40%, #181613) !important;
    border-left-color: var(--cat-color, var(--bb-sage)) !important;
    color: #fff !important;
    font-weight: 700 !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-day-today .fc-event:not(.fc-event--past) .fc-event-main,
  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-day-today .fc-event:not(.fc-event--past) .fc-event-title,
  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-day-today .fc-event:not(.fc-event--past) .fc-event-time {
    color: #fff !important;
  }

  /* #2938 dark mode: past/done month events recede (faint + lighter weight). */
  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-event--past {
    opacity: 0.5 !important;
    font-weight: 500 !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-event--past .fc-event-main {
    font-weight: 500 !important;
  }
}

[data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-day-today .fc-event.fc-event--past .fc-event-main {
  color: var(--cat-text, #F0EBE5) !important;
}

/* Dark mode: event category vars warm - raised opacity for WCAG AA contrast. */
[data-theme="dark"] .fc-event.cat-personlig,
[data-theme="dark"] .fc-event.cat-google_cal,
[data-theme="dark"] .cal-body .fc-event:not([class*="cat-"]) {
  --cat-text: #F0EBE5 !important;
  --cat-bg: rgba(110, 138, 126, 0.24) !important;
  --cat-bg-hover: rgba(110, 138, 126, 0.32) !important;
  --cat-color: #6E8A7E !important;
}

[data-theme="dark"] .fc-event.cat-moeder,
[data-theme="dark"] .fc-event.cat-grammatik {
  --cat-text: #C4DCCF !important;
  --cat-bg: rgba(168, 197, 184, 0.24) !important;
  --cat-bg-hover: rgba(168, 197, 184, 0.32) !important;
  --cat-color: #A8C5B8 !important;
}

[data-theme="dark"] .fc-event.cat-deadline,
[data-theme="dark"] .fc-event.cat-aflevering {
  --cat-text: #E0BAB0 !important;
  --cat-bg: rgba(212, 168, 154, 0.24) !important;
  --cat-bg-hover: rgba(212, 168, 154, 0.32) !important;
  --cat-color: #D4A89A !important;
}

[data-theme="dark"] .fc-event.cat-arbejde {
  --cat-text: #C4DCCF !important;
  --cat-bg: rgba(74, 122, 104, 0.24) !important;
  --cat-bg-hover: rgba(74, 122, 104, 0.32) !important;
  --cat-color: #4A7A68 !important;
}

[data-theme="dark"] .fc-event.cat-andet {
  --cat-text: #E0BA80 !important;
  --cat-bg: rgba(212, 160, 96, 0.24) !important;
  --cat-bg-hover: rgba(212, 160, 96, 0.32) !important;
  --cat-color: #D4A060 !important;
}

[data-theme="dark"] .fc-event.cat-proeve {
  --cat-text: #CCC4BC !important;
  --cat-bg: rgba(140, 123, 111, 0.24) !important;
  --cat-bg-hover: rgba(140, 123, 111, 0.32) !important;
  --cat-color: #8C7B6F !important;
}

[data-theme="dark"] .cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-event,
[data-theme="dark"] .cal-body .fc-view-harness .fc-timeGridWeek-view .fc-timegrid-event {
  background: var(--cat-bg, rgba(110, 138, 126, 0.24)) !important;
  border-left-color: var(--cat-color, var(--bb-sage)) !important;
}

[data-theme="dark"] .cal-body .fc-view-harness .fc-timeGridDay-view .fc-timegrid-event:hover,
[data-theme="dark"] .cal-body .fc-view-harness .fc-timeGridWeek-view .fc-timegrid-event:hover {
  background: var(--cat-bg-hover, rgba(110, 138, 126, 0.32)) !important;
}

/* Dark mode: left-accent bar month view. */
[data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-event {
  background: color-mix(in srgb, var(--cat-color, var(--bb-sage)) 10%, transparent) !important;
  border-left-color: var(--cat-color, var(--bb-sage)) !important;
}

[data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-event:hover {
  background: color-mix(in srgb, var(--cat-color, var(--bb-sage)) 18%, transparent) !important;
}

/* Dark mode: filter checkboxes */
[data-theme="dark"] .cal-filter-popover input[type="checkbox"] {
  accent-color: #6E8A7E !important;
}

[data-theme="dark"] .cal-filter-item[data-cat="moeder"] input[type="checkbox"],
[data-theme="dark"] .cal-filter-item.cat-moeder input[type="checkbox"] {
  accent-color: #A8C5B8 !important;
}

[data-theme="dark"] .cal-filter-item[data-cat="deadline"] input[type="checkbox"],
[data-theme="dark"] .cal-filter-item[data-cat="aflevering"] input[type="checkbox"],
[data-theme="dark"] .cal-filter-item.cat-deadline input[type="checkbox"],
[data-theme="dark"] .cal-filter-item.cat-aflevering input[type="checkbox"] {
  accent-color: #D4A89A !important;
}

[data-theme="dark"] .cal-filter-item[data-cat="arbejde"] input[type="checkbox"],
[data-theme="dark"] .cal-filter-item.cat-arbejde input[type="checkbox"] {
  accent-color: #4A7A68 !important;
}

[data-theme="dark"] .cal-filter-item[data-cat="andet"] input[type="checkbox"],
[data-theme="dark"] .cal-filter-item.cat-andet input[type="checkbox"] {
  accent-color: #D4A060 !important;
}

/* Dark mode: list-view chip overrides */
[data-theme="dark"] .cal-list-card__chip.cat-chip--personlig,
[data-theme="dark"] .cal-list-card__chip.cat-chip--google_cal,
[data-theme="dark"] .cal-list-card__chip.cat-chip--skole {
  --chip-color: #6E8A7E !important;
}

[data-theme="dark"] .cal-list-card__chip.cat-chip--moeder,
[data-theme="dark"] .cal-list-card__chip.cat-chip--grammatik {
  --chip-color: #A8C5B8 !important;
}

[data-theme="dark"] .cal-list-card__chip.cat-chip--arbejde {
  --chip-color: #4A7A68 !important;
}

[data-theme="dark"] .cal-list-card__chip.cat-chip--deadline,
[data-theme="dark"] .cal-list-card__chip.cat-chip--aflevering {
  --chip-color: #D4A89A !important;
}

[data-theme="dark"] .cal-list-card__chip.cat-chip--andet {
  --chip-color: #D4A060 !important;
}

[data-theme="dark"] .cal-list-card__chip.cat-chip--proeve {
  --chip-color: #8C7B6F !important;
}

/* Dark mode: category swatch */
[data-theme="dark"] .cat-swatch[data-cat="personlig"],
[data-theme="dark"] .cat-swatch.cat-personlig,
[data-theme="dark"] .cat-swatch[data-cat="google_cal"],
[data-theme="dark"] .cat-swatch.cat-google_cal,
[data-theme="dark"] .cat-swatch[data-cat="skole"],
[data-theme="dark"] .cat-swatch.cat-skole {
  background-color: #6E8A7E !important;
}

[data-theme="dark"] .cat-swatch[data-cat="moeder"],
[data-theme="dark"] .cat-swatch.cat-moeder,
[data-theme="dark"] .cat-swatch[data-cat="grammatik"],
[data-theme="dark"] .cat-swatch.cat-grammatik {
  background-color: #A8C5B8 !important;
}

[data-theme="dark"] .cat-swatch[data-cat="arbejde"],
[data-theme="dark"] .cat-swatch.cat-arbejde {
  background-color: #4A7A68 !important;
}

[data-theme="dark"] .cat-swatch[data-cat="deadline"],
[data-theme="dark"] .cat-swatch[data-cat="aflevering"],
[data-theme="dark"] .cat-swatch.cat-deadline,
[data-theme="dark"] .cat-swatch.cat-aflevering {
  background-color: #D4A89A !important;
}

[data-theme="dark"] .cat-swatch[data-cat="andet"],
[data-theme="dark"] .cat-swatch.cat-andet {
  background-color: #D4A060 !important;
}

[data-theme="dark"] .cat-swatch[data-cat="proeve"],
[data-theme="dark"] .cat-swatch.cat-proeve {
  background-color: #8C7B6F !important;
}

[data-theme="dark"] .cal-filter {
  color: #E8DDD4 !important;
}

[data-theme="dark"] .cal-add-cat-btn {
  color: #6E8A7E !important;
  border-color: rgba(110, 138, 126, 0.2) !important;
}

[data-theme="dark"] .cal-add-cat-btn:hover {
  border-color: rgba(110, 138, 126, 0.35) !important;
  background: rgba(110, 138, 126, 0.06) !important;
}

[data-theme="dark"] .smart-drawer-details-toggle {
  color: #6E8A7E !important;
}

[data-theme="dark"] .smart-drawer-details-toggle:hover {
  background: rgba(110, 138, 126, 0.08) !important;
}

[data-theme="dark"] .cal-filter-popover input[placeholder="Kategorinavn"],
[data-theme="dark"] .custom-cat-add-row input {
  background: rgba(42, 38, 34, 0.8) !important;
  border-color: rgba(232, 224, 216, 0.1) !important;
  color: #E8DDD4 !important;
}

/* Dark mode: aktiv view-switcher knap synlig */
[data-theme="dark"] .cal-view-seg-btn.active,
[data-theme="dark"] .cal-view-segmented .cal-view-seg-btn[aria-pressed="true"] {
  color: #E8DDD4 !important;
  background: rgba(110, 138, 126, 0.2) !important;
}

/* Calendar darkmode detail polish */
/* NL Cards - dark mode warm brown */
[data-theme="dark"] .nl-card-multi,
[data-theme="dark"] .nl-card-plan {
  background: rgba(42, 38, 34, 0.85) !important;
  border-color: rgba(232, 224, 216, 0.08) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3), 0 1px 4px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-theme="dark"] .nl-plan-header {
  background: rgba(42, 38, 34, 0.95) !important;
  border-bottom-color: rgba(232, 224, 216, 0.08) !important;
}

[data-theme="dark"] .nl-plan-header-count {
  color: #E8DDD4 !important;
}

[data-theme="dark"] .nl-plan-header-dismiss:hover {
  background: rgba(110, 138, 126, 0.10) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .nl-card-header {
  color: #E8DDD4 !important;
  border-bottom-color: rgba(232, 224, 216, 0.08) !important;
}

[data-theme="dark"] .nl-card-header svg {
  color: var(--bb-sage) !important;
}

[data-theme="dark"] .nl-card-drag-handle {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .nl-card-drag-handle:hover {
  background: rgba(110, 138, 126, 0.10) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .nl-card--dragging {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .nl-plan-drag-grip svg {
  color: #C8BEB2 !important;
  opacity: 0.3 !important;
}

[data-theme="dark"] .nl-card-plan.is-dragging {
  box-shadow: 0 16px 56px rgba(0, 0, 0, 0.5), 0 4px 16px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .nl-plan-group + .nl-plan-group {
  border-top-color: rgba(232, 224, 216, 0.08) !important;
}

[data-theme="dark"] .nl-plan-group-header:hover {
  background: rgba(110, 138, 126, 0.06) !important;
}

[data-theme="dark"] .nl-plan-group-label {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .nl-plan-group-count {
  color: var(--bb-sage) !important;
  background: rgba(110, 138, 126, 0.12) !important;
}

[data-theme="dark"] .nl-plan-group-chevron {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .nl-plan-event-row + .nl-plan-event-row {
  border-top-color: rgba(232, 224, 216, 0.06) !important;
}

[data-theme="dark"] .nl-plan-event-row:hover {
  background: rgba(110, 138, 126, 0.06) !important;
}

[data-theme="dark"] .nl-plan-event-title {
  color: #E8DDD4 !important;
}

[data-theme="dark"] .nl-plan-event-date {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .nl-plan-event-remove:hover {
  color: #B85450 !important;
  background: rgba(184, 84, 80, 0.15) !important;
}

[data-theme="dark"] .nl-card-event-row {
  background: rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .nl-card-event-row + .nl-card-event-row {
  border-top-color: rgba(232, 224, 216, 0.06) !important;
}

[data-theme="dark"] .nl-card-event-row:hover {
  background: rgba(110, 138, 126, 0.08) !important;
}

[data-theme="dark"] .nl-card-event-title {
  color: #E8DDD4 !important;
}

[data-theme="dark"] .nl-card-event-time {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .nl-card-event-duration {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .nl-btn-primary,
[data-theme="dark"] .nl-plan-btn-create {
  background: #5F7C70 !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(212,168,154,0.5) !important;
}

[data-theme="dark"] .nl-btn-primary:hover,
[data-theme="dark"] .nl-plan-btn-create:hover {
  background: #4A6B5E !important;
  box-shadow: 0 4px 12px rgba(212,168,154,0.5) !important;
}

[data-theme="dark"] .nl-plan-btn-create:disabled {
  opacity: 0.4 !important;
  box-shadow: none !important;
}

[data-theme="dark"] .nl-btn-secondary,
[data-theme="dark"] .nl-plan-btn-cancel {
  border-color: rgba(232, 224, 216, 0.08) !important;
  color: #C8BEB2 !important;
  background: transparent !important;
}

[data-theme="dark"] .nl-btn-secondary:hover,
[data-theme="dark"] .nl-plan-btn-cancel:hover {
  background: rgba(110, 138, 126, 0.06) !important;
  border-color: rgba(110, 138, 126, 0.2) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .nl-card-actions {
  border-top-color: rgba(232, 224, 216, 0.08) !important;
}

[data-theme="dark"] .nl-plan-actions {
  border-top-color: rgba(232, 224, 216, 0.08) !important;
  background: rgba(42, 38, 34, 0.95) !important;
}

[data-theme="dark"] .nl-plan-groups::-webkit-scrollbar-thumb {
  background: rgba(184, 168, 152, 0.2) !important;
}

[data-theme="dark"] .nl-plan-groups::-webkit-scrollbar-thumb:hover {
  background: rgba(184, 168, 152, 0.35) !important;
}



[data-theme="dark"] .cal-task-suggestion {
  background: linear-gradient(135deg, rgba(36, 48, 42, 0.94) 0%, rgba(38, 52, 44, 0.90) 100%) !important;
  border-color: rgba(74, 122, 104, 0.14) !important;
  border-left-color: #5A9A7E !important;
  color: #E8DDD4 !important;
  box-shadow: 0 3px 14px rgba(23, 21, 18, 0.42) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-theme="dark"] .cal-task-suggestion-accept {
  background: #4A7A68 !important;
  color: #fff !important;
}

[data-theme="dark"] .cal-task-suggestion-accept:hover {
  background: #4A8A6E !important;
}

[data-theme="dark"] .cal-task-suggestion-dismiss {
  border-color: rgba(90, 154, 126, 0.28) !important;
  color: #C8BEB2 !important;
}

[data-theme="dark"] .cal-task-suggestion-dismiss:hover {
  background: rgba(90, 154, 126, 0.08) !important;
  border-color: rgba(90, 154, 126, 0.4) !important;
}

[data-theme="dark"] .cal-email-mention {
  background: linear-gradient(135deg, rgba(52, 36, 38, 0.94) 0%, rgba(58, 38, 40, 0.90) 100%) !important;
  border-color: rgba(212, 144, 124, 0.14) !important;
  border-left-color: #B87060 !important;
  color: #E8DDD4 !important;
  box-shadow: 0 3px 14px rgba(23, 21, 18, 0.42) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-theme="dark"] .cal-email-mention-icon {
  color: #D4907C !important;
}

[data-theme="dark"] .cal-email-mention-accept {
  background: #B87060 !important;
  color: #fff !important;
}

[data-theme="dark"] .cal-email-mention-accept:hover {
  background: #C88070 !important;
}

[data-theme="dark"] .cal-email-mention-dismiss {
  border-color: rgba(184, 112, 96, 0.28) !important;
  color: #C8BEB2 !important;
}

[data-theme="dark"] .cal-email-mention-dismiss:hover {
  background: rgba(184, 112, 96, 0.08) !important;
  border-color: rgba(184, 112, 96, 0.4) !important;
}

@media (prefers-reduced-motion: reduce) {
  .cal-body .fc-addEvent-button:hover,
  .cal-body .fc-viewDropdown-button:hover,
  .cal-body .fc-today-button:hover,
  .nl-bar-submit:hover,
  .nl-btn-primary:hover,
  .nl-plan-btn-create:hover,
  .nl-result .btn-primary:hover,
  .cal-drawer .btn-primary:hover,
  .cal-drawer .btn-secondary:hover,
  .cal-quick-add-save:hover,
  .cal-lv-event:hover,
  .cal-body .fc-timegrid-more-link:hover,
  .cal-body .fc-popover.fc-more-popover .fc-event:hover,
  .cal-quick-add-save:active {
    transform: none !important;
  }

  .cal-body .fc-event:hover {
    transform: none !important;
  }

  .cal-body .fc-view,
  .cal-drawer-overlay,
  .cal-drawer,
  .cal-view-dropdown-menu,
  .nl-loading-dots span,
  .nl-constellation .nl-star,
  .nl-card-multi,
  .nl-card-plan,
  .nl-plan-group-body,
  .nl-plan-event-row,
  .fc-popover.fc-more-popover,
  .cal-body .fc-timegrid-more-link,
  .cal-body .fc-popover.fc-more-popover .fc-event,
  .cal-list-view__scroll,
  .cal-lv-day__header,
  .cal-lv-event,
  .cal-quick-add-card,
  .flatpickr-day {
    animation: none !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

.cal-body .fc-prev-button:focus-visible,
.cal-body .fc-next-button:focus-visible,
.cal-body .fc-filterCats-button:focus-visible,
.cal-body .fc-addEvent-button:focus-visible,
.cal-body .fc-viewDropdown-button:focus-visible,
.cal-body .fc-today-button:focus-visible {
  outline: none !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

.nl-bar-submit:focus-visible {
  outline: none !important;
  outline-offset: 2px !important;
}

.cal-drawer .input:focus-visible {
  outline: none !important;
  outline-offset: 2px !important;
}
/* Focus-visible: drawer buttons, date chips, toggles, mobile nav */
.cal-drawer .btn-primary:focus-visible,
.cal-drawer .btn-secondary:focus-visible,
.cal-drawer .btn-delete:focus-visible,
.cal-drawer .date-chip:focus-visible,
.cal-drawer .smart-drawer-details-toggle:focus-visible,
.cal-drawer .toggle:focus-visible,
.cal-drawer-close:focus-visible,
.custom-cat-trigger:focus-visible,
.cal-quick-add-save:focus-visible,
.cal-quick-add-details:focus-visible,
.cal-qa-mic:focus-visible,
.sk-m-btn:focus-visible,
.nl-bar-mic:focus-visible,
.nl-hint:focus-visible,
.nl-result .btn-ghost:focus-visible,
.nl-result-dismiss:focus-visible,
.nl-btn-primary:focus-visible,
.nl-btn-secondary:focus-visible,
.nl-card-drag-handle:focus-visible,
.cal-body .fc-timegrid-more-link:focus-visible,
.cal-body .fc-popover.fc-more-popover .fc-popover-close:focus-visible,
.cal-body .fc-popover.fc-more-popover .fc-event:focus-visible {
  outline: none !important;
  outline-offset: 2px !important;
}

/* ================================================================
   BDA font-size compliance - event pills minimum legibility
   BDA Style Guide 2023: "Use a minimum of 16 point for body text"
   ================================================================ */
.cal-body .fc-event {
  font-size: 14px !important;
  line-height: 20px !important;
}

.cal-body .fc-event .fc-time-prefix {
  font-size: var(--font-size-xs) !important;
}

/* Custom list-view: raise chip/time fonts for BDA compliance (desktop only). */
@media (min-width: 641px) {
  .cal-lv-event__chip,
  .cal-lv-event__cat {
    font-size: 14px !important;
  }

  .cal-lv-event__time {
    font-size: 14px !important;
  }
}

/* Month-grid column header (Mon, Tue...) - raise from 11px to 12px */
.cal-body .fc-dayGridMonth-view .fc-col-header-cell-cushion {
  font-size: 12px !important;
}

/* ================================================================
   NL-bar input: product request keeps this field visually flat on focus.
   Focus chrome stays visually flat.
   ================================================================ */
.nl-bar-input:focus-visible {
  outline: none !important;
  border-color: transparent !important;
}

[data-theme="dark"] .nl-bar-input:focus-visible {
  outline: none !important;
  border-color: transparent !important;
}

/* ================================================================
   OS dark mode sync - auto-apply when no explicit user toggle set
   JS in kalender-app.js controls the [data-theme] attribute.
   This media query is only a fallback hint for initial form controls.
   ================================================================ */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .cal-body {
    color-scheme: dark;
  }
}

/* ================================================================
   UNIVERSAL QA FIX 1: mobile toolbar containment
   Issue: mobile toolbar action row overflowed the 375px viewport.
   WCAG/BDA ref: responsive reflow without horizontal scroll.
   ================================================================ */
/* ================================================================
   Google-connect popup-blocked fallback banner
   ================================================================ */
.gcal-popup-blocked {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 24px 12px !important;
  padding: 12px 16px !important;
  background: rgba(212, 168, 154, 0.12) !important;
  border: 1px solid rgba(212, 168, 154, 0.35) !important;
  border-radius: 12px !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 14px !important;
  color: var(--bb-warm-text) !important;
}

.gcal-popup-blocked__msg {
  flex: 1 1 auto !important;
  line-height: 1.4 !important;
}

.gcal-popup-blocked__retry {
  flex: 0 0 auto !important;
  background: var(--bb-sage-dark) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 6px 14px !important;
  font-family: var(--bb-font-sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.gcal-popup-blocked__close {
  flex: 0 0 auto !important;
  background: none !important;
  border: none !important;
  color: var(--bb-warm-text-light) !important;
  cursor: pointer !important;
  padding: 4px !important;
  line-height: 1 !important;
}

[data-theme="dark"] .gcal-popup-blocked {
  background: rgba(212, 168, 154, 0.08) !important;
  border-color: rgba(212, 168, 154, 0.2) !important;
  color: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .gcal-popup-blocked__retry {
  background: #5F7C70 !important;
}

[data-theme="dark"] .gcal-popup-blocked__close {
  color: var(--bb-dark-text-secondary, #C8BEB2) !important;
}

/* ================================================================
   Mobile add-event compact button
   On mobile, the full-width "Ny begivenhed" shrinks to a "+" icon
   button that stays visible in the toolbar alongside the segmented
   view switcher and filter.
   ================================================================ */
.cal-body .fc-addEvent-button.fc-addEvent-button--mobile,
.cal-body .fc-addEvent-button.fc-button.fc-addEvent-button--mobile,
.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-addEvent-button.fc-addEvent-button--mobile {
  min-width: 44px !important;
  width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  font-size: 0 !important;
  flex: 0 0 44px !important;
  order: 10 !important;
  overflow: hidden !important;
}

.cal-body .fc-addEvent-button.fc-addEvent-button--mobile::before,
.cal-body .fc-addEvent-button.fc-button.fc-addEvent-button--mobile::before,
.cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-addEvent-button.fc-addEvent-button--mobile::before {
  content: '+' !important;
  font-size: 22px !important;
  font-weight: var(--font-weight-bold) !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}

/* ================================================================
   CALM MOBILE TOOLBAR (issue #1834)
   Mobile-only at ≤640px. Desktop >640px must remain identical.
   Row 1: prev – centered month title – next
   Row 2: segmented view switcher + filter + sage add button
   ================================================================ */
@media (max-width: 640px) {
  /* --- Toolbar container --- */
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr {
    padding: 12px 14px !important;
    gap: 10px !important;
    row-gap: 12px !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin: 12px 10px 14px !important;
    min-height: 0 !important;
  }

  /* --- Row 1: nav chunk spans full width --- */
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-toolbar-chunk:first-child {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-toolbar-chunk:first-child .fc-button-group {
    display: contents !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-prev-button {
    order: 1 !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-toolbar-title {
    order: 2 !important;
    flex: 1 1 auto !important;
    text-align: center !important;
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    color: #3A2F26 !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-next-button {
    order: 3 !important;
  }

  /* --- Prev/next buttons --- */
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-prev-button,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-next-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    background: transparent !important;
    border: 1px solid rgba(58, 47, 38, 0.08) !important;
    color: #9A8E82 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    transition: background-color .16s ease, color .16s ease, border-color .16s ease !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-prev-button:hover,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-prev-button:focus-visible,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-next-button:hover,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-next-button:focus-visible {
    background: #FBF8F2 !important;
    color: #3A2F26 !important;
    border-color: rgba(58, 47, 38, 0.14) !important;
    outline: none !important;
  }

  /* --- Row 2: actions chunk spans full width --- */
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-toolbar-chunk:last-child {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }

  /* --- Hide secondary controls on mobile --- */
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .gcal-connect-wrap,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .gcal-connect-btn,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .gcal-connect-dismiss,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-viewDropdown-button,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-viewDropdown-button.fc-button,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-viewDropdown-button.fc-button.fc-button-primary,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-today-button,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-today-button.fc-button,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-today-button.fc-button.fc-button-primary {
    display: none !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button.fc-button,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button.fc-button.fc-button-primary {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    flex: 0 0 44px !important;
    order: 9 !important;
    padding: 0 !important;
    border-radius: 12px !important;
    background: #FBF8F2 !important;
    border: 1px solid rgba(58, 47, 38, 0.08) !important;
    color: #9A8E82 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0 !important;
    line-height: 1 !important;
    overflow: hidden !important;
    box-shadow: none !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button::before {
    content: '\2630' !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button:hover,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button:focus-visible {
    background: #FBF8F2 !important;
    color: #3A2F26 !important;
    border-color: rgba(58, 47, 38, 0.14) !important;
    outline: none !important;
  }

  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button,
  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button.fc-button,
  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button.fc-button.fc-button-primary {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #E8DDD4 !important;
    border-color: rgba(232, 224, 216, 0.12) !important;
  }

  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button:hover,
  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button:focus-visible {
    background: rgba(212, 168, 154, 0.08) !important;
    color: #fff !important;
    border-color: rgba(232, 224, 216, 0.20) !important;
  }

  /* --- Segmented control container --- */
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .cal-view-segmented {
    display: inline-flex !important;
    flex: 1 1 0 !important;
    max-width: none !important;
    margin: 0 !important;
    background: #FBF8F2 !important;
    border: 1px solid rgba(58, 47, 38, 0.08) !important;
    border-radius: 12px !important;
    padding: 3px 4px !important;
    gap: 4px !important;
    height: 44px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* --- Segment buttons (idle) --- */
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .cal-view-seg-btn {
    flex: 1 1 0 !important;
    width: auto !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #9A8E82 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    transition: background-color .16s ease, color .16s ease !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .cal-view-seg-btn:hover {
    color: #3A2F26 !important;
    background: transparent !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .cal-view-seg-btn:focus-visible {
    color: #3A2F26 !important;
    background: transparent !important;
    outline: 2px solid #6E8A7E !important;
    outline-offset: 2px !important;
  }

  /* --- Active segment (warm canvas, NOT sage/green) --- */
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .cal-view-seg-btn.active {
    background: #FFFEFB !important;
    color: #3A2F26 !important;
    font-weight: 650 !important;
    box-shadow: 0 1px 0 rgba(58, 47, 38, 0.04), 0 2px 6px -2px rgba(58, 47, 38, 0.10) !important;
    border-color: transparent !important;
  }

  /* --- Add button (only sage surface in toolbar) --- */
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-addEvent-button.fc-addEvent-button--mobile {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    flex: 0 0 auto !important;
    border-radius: 12px !important;
    background: #6E8A7E !important;
    border: 0 !important;
    color: #FFFEFB !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 1px 0 rgba(58, 47, 38, 0.06), 0 4px 10px -4px rgba(110, 138, 126, 0.45) !important;
    font-size: 0 !important;
    overflow: hidden !important;
    order: 10 !important;
    transition: background-color .16s ease !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-addEvent-button.fc-addEvent-button--mobile:hover,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-addEvent-button.fc-addEvent-button--mobile:focus-visible {
    background: #4A7A68 !important;
    outline: none !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-addEvent-button.fc-addEvent-button--mobile:active {
    transform: translateY(1px) !important;
  }

  /* --- Gcal popup-blocked banner mobile --- */
  .gcal-popup-blocked {
    margin: 0 8px 8px !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  /* ================================================================
     CALM DAY VIEW HARNESS (issue #1837)
     Mobile-only Day view polish: harness shell, rich header,
     all-day row collapse, time axis, scoped to .fc-timeGridDay-view.
     ================================================================ */

  /* --- Harness shell --- */
  .cal-body .fc-view-harness.fc-view-harness-active:has(.fc-timeGridDay-view) {
    background: #FFFEFB !important;
    border: 1px solid rgba(58, 47, 38, 0.08) !important;
    box-shadow: 0 1px 0 rgba(58, 47, 38, 0.04), 0 8px 24px -10px rgba(58, 47, 38, 0.08) !important;
  }

  /* --- Day header cell --- */
  .cal-body .fc-timeGridDay-view .fc-col-header-cell {
    padding: 0 !important;
    height: auto !important;
  }

  .cal-body .fc-timeGridDay-view .fc-scrollgrid-sync-inner {
    padding: 6px 8px !important;
  }

  .cal-body .fc-timeGridDay-view .fc-col-header-cell-cushion {
    display: block !important;
    padding: 0 !important;
  }

  /* --- Rich header layout --- */
  .cal-body .fc-timeGridDay-view .cal-day-header-rich {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 !important;
  }

  /* Weekday */
  .cal-body .fc-timeGridDay-view .cal-day-header-weekday {
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #9A8E82 !important;
    order: 1 !important;
    opacity: 1 !important;
  }

  /* Date pill */
  .cal-body .fc-timeGridDay-view .cal-day-header-num {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #FFFEFB !important;
    color: #3A2F26 !important;
    border: 1px solid rgba(58, 47, 38, 0.10) !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    box-shadow: 0 1px 0 rgba(58, 47, 38, 0.04) !important;
    order: 2 !important;
    line-height: 1 !important;
  }

  /* Month */
  .cal-body .fc-timeGridDay-view .cal-day-header-month {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #5C4D43 !important;
    order: 3 !important;
    opacity: 1 !important;
    text-transform: none !important;
  }

  /* --- Today: subtle surface tint + border only, no green text, no sage pill --- */
  .cal-body .fc-timeGridDay-view .fc-day-today {
    background: rgba(110, 138, 126, 0.06) !important;
  }

  .cal-body .fc-timeGridDay-view .fc-day-today .cal-day-header-num {
    border-color: rgba(110, 138, 126, 0.30) !important;
    background: #FFFEFB !important;
    color: #3A2F26 !important;
  }

  .cal-body .fc-timeGridDay-view .fc-day-today .cal-day-header-weekday {
    color: #9A8E82 !important;
  }

  /* --- All-day row: hide duplicate date, collapse empty --- */
  .cal-body .fc-timeGridDay-view .fc-daygrid-day-number,
  .cal-body .fc-timeGridDay-view .fc-daygrid-day-top {
    display: none !important;
  }

  .cal-body .fc-timeGridDay-view .fc-timegrid-col-misc {
    display: none !important;
  }

  .cal-body .fc-timeGridDay-view .fc-daygrid-day {
    height: auto !important;
  }

  .cal-body .fc-timeGridDay-view .fc-daygrid-day-frame {
    min-height: 0 !important;
  }

  .cal-body .fc-timeGridDay-view .fc-daygrid-day-events {
    min-height: 0 !important;
    margin: 0 !important;
  }

  .cal-body .fc-timeGridDay-view .fc-daygrid-day-bg,
  .cal-body .fc-timeGridDay-view .fc-daygrid-day-bottom {
    min-height: 0 !important;
  }

  /* Non-liquid body section: collapse empty all-day */
  .cal-body .fc-timeGridDay-view .fc-scrollgrid-section:not(.fc-scrollgrid-section-liquid) td,
  .cal-body .fc-timeGridDay-view .fc-timegrid-axis,
  .cal-body .fc-timeGridDay-view .fc-scrollgrid-section:not(.fc-scrollgrid-section-liquid) .fc-timegrid-axis-frame {
    height: auto !important;
    min-height: 0 !important;
  }

  /* All-day axis frame padding */
  .cal-body .fc-timeGridDay-view .fc-scrollgrid-section:not(.fc-scrollgrid-section-liquid) .fc-timegrid-axis-frame {
    padding: 2px 0 !important;
  }

  /* All-day axis cushion */
  .cal-body .fc-timeGridDay-view .fc-scrollgrid-section:not(.fc-scrollgrid-section-liquid) .fc-timegrid-axis-cushion {
    padding: 2px 6px 2px 8px !important;
  }

  /* --- Time axis --- */
  .cal-body .fc-timeGridDay-view col[data-fc-axis],
  .cal-body .fc-timeGridDay-view colgroup col:first-child,
  .cal-body .fc-timeGridDay-view .fc-timegrid-axis,
  .cal-body .fc-timeGridDay-view .fc-timegrid-slot-label {
    width: 76px !important;
  }

  .cal-body .fc-timeGridDay-view .fc-timegrid-axis-frame,
  .cal-body .fc-timeGridDay-view .fc-timegrid-axis-frame.fc-scrollgrid-shrink-frame {
    overflow: visible !important;
  }

  .cal-body .fc-timeGridDay-view .fc-timegrid-axis-cushion {
    width: auto !important;
    max-width: none !important;
    display: inline-block !important;
    white-space: nowrap !important;
    padding: 4px 6px 4px 8px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    color: #9A8E82 !important;
    text-align: right !important;
  }

  .cal-body .fc-timeGridDay-view .fc-timegrid-slot-label-cushion {
    font-size: 11px !important;
    color: #9A8E82 !important;
    padding-right: 6px !important;
  }
}

/* Reduced motion: suppress Day view harness transitions */
@media (max-width: 640px) and (prefers-reduced-motion: reduce) {
  .cal-body .fc-view-harness,
  .cal-body .fc-view-harness *,
  .cal-body .fc-view-harness *::before,
  .cal-body .fc-view-harness *::after {
    transition: none !important;
  }
}

/* Preserve the pre-existing tablet toolbar contract above the new 640px
   mobile calm layout. The mobile-only redesign must not alter 641-767px. */
@media (min-width: 641px) and (max-width: 767px) {
  .cal-body .fc-toolbar,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr {
    gap: 4px !important;
    flex-wrap: wrap !important;
  }

  .cal-body .fc-toolbar button,
  .cal-body .fc-toolbar .fc-button,
  .cal-body .fc-toolbar .gcal-connect-btn,
  .cal-body .fc-toolbar .gcal-toolbar-gear-btn,
  .cal-body .fc-toolbar .gcal-toolbar-sync-btn {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 8px !important;
  }

  .cal-body .fc-prev-button,
  .cal-body .fc-next-button,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-prev-button,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-next-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
  }

  .cal-body .fc-filterCats-button,
  .cal-body .fc-filterCats-button.fc-button,
  .cal-body .fc-filterCats-button.fc-button.fc-button-primary,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
  }

  .cal-body .fc-filterCats-button::before,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-filterCats-button::before {
    content: '\2630' !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 380px) {
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .cal-view-seg-btn {
    padding: 0 8px !important;
  }
}

/* Reduced motion: suppress toolbar transitions and pressed transform */
@media (max-width: 640px) and (prefers-reduced-motion: reduce) {
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-prev-button,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-next-button,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .cal-view-seg-btn,
  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-addEvent-button.fc-addEvent-button--mobile {
    transition: none !important;
  }

  .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-addEvent-button.fc-addEvent-button--mobile:active {
    transform: none !important;
  }

  /* Custom list view: suppress event row transitions */
  .cal-body .cal-lv-event {
    transition: none !important;
  }
}

/* ================================================================
   UNIVERSAL QA FIX 2: mobile list readability
   Issue: mobile list labels and inline category vars were too small
   and could retain cold-blue custom color fallbacks.
   WCAG/BDA ref: readable labels, AA contrast, calm color semantics.
   ================================================================ */
.cal-lv-event.cat-personlig,
.cal-lv-event.cat-google_cal,
.cal-lv-event.cat-skole,
.cal-lv-event:not([class*="cat-"]) {
  --_cat-color: var(--bb-sage) !important;
  --_cat-bg: rgba(110, 138, 126, 0.14) !important;
  --_cat-bg-hover: rgba(110, 138, 126, 0.22) !important;
  --_cat-text: var(--bb-warm-text) !important;
}

.cal-lv-event.cat-moeder,
.cal-lv-event.cat-grammatik {
  --_cat-color: var(--bb-sage) !important;
  --_cat-bg: rgba(168, 197, 184, 0.14) !important;
  --_cat-bg-hover: rgba(168, 197, 184, 0.22) !important;
  --_cat-text: var(--bb-warm-text) !important;
}

.cal-lv-event.cat-deadline,
.cal-lv-event.cat-aflevering {
  --_cat-color: var(--bb-rose) !important;
  --_cat-bg: rgba(212, 168, 154, 0.16) !important;
  --_cat-bg-hover: rgba(212, 168, 154, 0.24) !important;
  --_cat-text: var(--bb-warm-text) !important;
}

.cal-lv-event.cat-arbejde {
  --_cat-color: var(--bb-sage-dark) !important;
  --_cat-bg: rgba(74, 122, 104, 0.14) !important;
  --_cat-bg-hover: rgba(74, 122, 104, 0.22) !important;
  --_cat-text: var(--bb-warm-text) !important;
}

.cal-lv-event.cat-andet {
  --_cat-color: var(--cat-andet) !important;
  --_cat-bg: rgba(212, 160, 96, 0.16) !important;
  --_cat-bg-hover: rgba(212, 160, 96, 0.24) !important;
  --_cat-text: var(--bb-warm-text) !important;
}

.cal-lv-event.cat-proeve {
  --_cat-color: var(--cat-proeve) !important;
  --_cat-bg: rgba(140, 123, 111, 0.16) !important;
  --_cat-bg-hover: rgba(140, 123, 111, 0.24) !important;
  --_cat-text: var(--bb-warm-text) !important;
}

.cal-lv-event.cat-recurring {
  --_cat-color: var(--bb-muted-warm) !important;
  --_cat-bg: rgba(154, 142, 130, 0.12) !important;
  --_cat-bg-hover: rgba(154, 142, 130, 0.20) !important;
  --_cat-text: var(--bb-muted-warm-accessible) !important;
}

.cal-lv-event__time,
.cal-lv-event__chip,
.cal-lv-event__cat,
.cal-lv-day__name,
.cal-lv-day__badge {
  color: var(--bb-warm-text) !important;
}

[data-theme="dark"] .cal-lv-event.cat-personlig,
[data-theme="dark"] .cal-lv-event.cat-google_cal,
[data-theme="dark"] .cal-lv-event.cat-skole,
[data-theme="dark"] .cal-lv-event:not([class*="cat-"]) {
  --_cat-color: var(--bb-sage) !important;
  --_cat-bg: rgba(110, 138, 126, 0.22) !important;
  --_cat-bg-hover: rgba(110, 138, 126, 0.30) !important;
  --_cat-text: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .cal-lv-event.cat-moeder,
[data-theme="dark"] .cal-lv-event.cat-grammatik {
  --_cat-color: var(--bb-sage) !important;
  --_cat-bg: rgba(168, 197, 184, 0.22) !important;
  --_cat-bg-hover: rgba(168, 197, 184, 0.30) !important;
  --_cat-text: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .cal-lv-event.cat-deadline,
[data-theme="dark"] .cal-lv-event.cat-aflevering {
  --_cat-color: var(--bb-rose) !important;
  --_cat-bg: rgba(212, 168, 154, 0.24) !important;
  --_cat-bg-hover: rgba(212, 168, 154, 0.32) !important;
  --_cat-text: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .cal-lv-event.cat-arbejde {
  --_cat-color: var(--bb-sage-dark) !important;
  --_cat-bg: rgba(74, 122, 104, 0.24) !important;
  --_cat-bg-hover: rgba(74, 122, 104, 0.32) !important;
  --_cat-text: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .cal-lv-event.cat-andet {
  --_cat-color: var(--cat-andet) !important;
  --_cat-bg: rgba(212, 160, 96, 0.24) !important;
  --_cat-bg-hover: rgba(212, 160, 96, 0.32) !important;
  --_cat-text: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .cal-lv-event.cat-proeve {
  --_cat-color: var(--cat-proeve) !important;
  --_cat-bg: rgba(140, 123, 111, 0.24) !important;
  --_cat-bg-hover: rgba(140, 123, 111, 0.32) !important;
  --_cat-text: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .cal-lv-event.cat-recurring {
  --_cat-color: var(--bb-muted-warm) !important;
  --_cat-bg: rgba(154, 142, 130, 0.22) !important;
  --_cat-bg-hover: rgba(154, 142, 130, 0.30) !important;
  --_cat-text: var(--bb-dark-text-primary, #E8DDD4) !important;
}

[data-theme="dark"] .cal-lv-event__time,
[data-theme="dark"] .cal-lv-event__chip,
[data-theme="dark"] .cal-lv-event__cat,
[data-theme="dark"] .cal-lv-day__name,
[data-theme="dark"] .cal-lv-day__badge {
  color: var(--bb-dark-text-primary, #E8DDD4) !important;
}

@media (min-width: 641px) and (max-width: 767px) {
  .cal-lv-day__name,
  .cal-lv-event__title,
  .cal-lv-event__time,
  .cal-lv-event__chip,
  .cal-lv-event__cat,
  .cal-lv-day__badge {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
}

/* ================================================================
   UNIVERSAL QA FIX 3: mobile touch target repair
   Issue: NL submit was 44px wide but only 36px tall on mobile.
   WCAG/BDA ref: 44px minimum interactive target.
   ================================================================ */
@media (max-width: 767px), (pointer: coarse) {
  .nl-bar-submit {
    min-height: 44px !important;
    height: 44px !important;
    width: 44px !important;
    min-width: 44px !important;
  }
}

/* ================================================================
   UNIVERSAL QA FIX 4: other-month date contrast
   Issue: visible overflow-month day numbers were below AA contrast.
   WCAG/BDA ref: readable orientation anchors.
   ================================================================ */
.cal-body .fc-daygrid-day.fc-day-other .fc-daygrid-day-number {
  color: var(--bb-warm-text) !important;
  opacity: 1 !important;
}

[data-theme="dark"] .cal-body .fc-daygrid-day.fc-day-other .fc-daygrid-day-number {
  color: var(--bb-dark-text-secondary, #C8BEB2) !important;
  opacity: 0.72 !important;
}

/* ==========================================================================
   QUICK-ADD POPOVER - Blod Bolge Premium
   ========================================================================== */

.cal-quick-add-card {
  background: rgba(255, 254, 251, 0.92) !important;
  backdrop-filter: blur(20px) saturate(1.6);
  -webkit-backdrop-filter: blur(20px) saturate(1.6);
  border: 1px solid rgba(228, 220, 212, 0.6) !important;
  border-radius: 18px !important;
  box-shadow:
    0 1px 2px rgba(92, 77, 67, 0.06),
    0 4px 16px rgba(92, 77, 67, 0.08),
    0 12px 40px rgba(92, 77, 67, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
  font-family: var(--bb-font-sans) !important;
}

.cal-quick-add-date {
  font-family: var(--bb-font-serif) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--bb-warm-text-light) !important;
  letter-spacing: 0.03em !important;
}

.cal-quick-add-input {
  font-family: var(--bb-font-sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--bb-warm-text) !important;
  caret-color: var(--bb-sage-dark) !important;
}

.cal-quick-add-input::placeholder {
  font-family: var(--font-family) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: var(--bb-muted) !important;
}

.cal-quick-add-actions {
  border-top: 1px solid rgba(228, 220, 212, 0.4) !important;
  background: rgba(250, 247, 243, 0.5) !important;
}

.cal-quick-add-details {
  font-family: var(--bb-font-sans) !important;
  color: var(--bb-warm-text-light) !important;
  border-radius: 10px !important;
}

.cal-quick-add-details:hover {
  background: rgba(228, 220, 212, 0.3) !important;
  color: var(--bb-warm-text) !important;
}

.cal-quick-add-details svg {
  opacity: 0.55 !important;
}

.cal-quick-add-save {
  background: var(--bb-sage-dark) !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-family: var(--bb-font-sans) !important;
  font-weight: 600 !important;
  box-shadow: var(--bb-shadow-cta) !important;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease !important;
}

.cal-quick-add-save:hover {
  background: #3d4260 !important;
  box-shadow: var(--bb-shadow-cta-hover) !important;
  transform: scale(1.02);
}

.cal-quick-add-save:active {
  transform: scale(0.97) !important;
}

.cal-qa-mic {
  color: var(--bb-warm-text-light) !important;
  border-radius: 10px !important;
}

.cal-qa-mic:hover {
  background: rgba(228, 220, 212, 0.3) !important;
  color: var(--bb-warm-text) !important;
}

/* Dark mode */

[data-theme="dark"] .cal-quick-add-card {
  background: rgba(42, 38, 34, 0.85) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-color: rgba(232, 224, 216, 0.08) !important;
  box-shadow:
    0 4px 20px rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(255, 255, 255, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .cal-quick-add-date {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .cal-quick-add-input {
  color: #E8DDD4 !important;
  caret-color: #6E8A7E !important;
}

[data-theme="dark"] .cal-quick-add-input::placeholder {
  color: rgba(200, 190, 178, 0.5) !important;
}

[data-theme="dark"] .cal-quick-add-actions {
  border-top-color: rgba(232, 224, 216, 0.08) !important;
  background: rgba(42, 38, 34, 0.35) !important;
}

[data-theme="dark"] .cal-quick-add-details {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .cal-quick-add-details:hover {
  background: rgba(212, 168, 154, 0.08) !important;
  color: #E8DDD4 !important;
}

[data-theme="dark"] .cal-quick-add-save {
  background: #5F7C70 !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(212,168,154,0.5) !important;
}

[data-theme="dark"] .cal-quick-add-save:hover {
  background: #4A6B5E !important;
  box-shadow: 0 6px 18px rgba(212,168,154,0.5) !important;
}

[data-theme="dark"] .cal-qa-mic {
  color: #C8BEB2 !important;
}

[data-theme="dark"] .cal-qa-mic:hover {
  background: rgba(212, 168, 154, 0.08) !important;
  color: #E8DDD4 !important;
}

/* Mobile */

@media (max-width: 575px) {
  .cal-quick-add.active {
    background: rgba(92, 77, 67, 0.12) !important;
  }

  .cal-quick-add-card {
    border-radius: 18px !important;
  }

  .cal-quick-add-input {
    font-size: 16px !important;
  }
}

@media (max-width: 767px) {
  .cal-quick-add {
    z-index: 9050 !important;
  }

  .cal-body .nl-bar {
    z-index: 90 !important;
  }

  .cal-filter-popover {
    z-index: 220 !important;
    max-height: 70dvh !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
    padding-bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
  }

  .cal-drawer-overlay {
    z-index: 9100 !important;
  }

  .cal-drawer {
    z-index: 9101 !important;
    max-height: 70dvh !important;
    max-height: 70vh !important;
    padding-bottom: max(16px, env(safe-area-inset-bottom, 0px)) !important;
  }

  .cal-filter-popover {
    z-index: 9050 !important;
  }
}

/* ================================================================
   MOBILE MONTH DOT-DENSITY GRID — Issue #1841
   Port of the approved mobile-only FullCalendar Month view prototype.
   Scoped to @media (max-width: 640px) .fc-dayGridMonth-view.
   Desktop >640px remains visually identical.
   ================================================================ */
@media (max-width: 640px) {
  /* ── Month grid structure ── */
  .cal-body .fc-dayGridMonth-view .fc-daygrid-body,
  .cal-body .fc-dayGridMonth-view .fc-scrollgrid-sync-table {
    border-radius: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    table-layout: fixed !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-scrollgrid-sync-table {
    border-collapse: collapse !important;
    border-spacing: 0 !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-scrollgrid-sync-table tbody,
  .cal-body .fc-dayGridMonth-view .fc-scrollgrid-sync-table tr {
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
  }

  /* ── Day cells ── */
  .cal-body .fc-dayGridMonth-view .fc-daygrid-day {
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    background: transparent !important;
    border-radius: 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(58, 47, 38, 0.06) !important;
    border-right: 1px solid rgba(58, 47, 38, 0.06) !important;
    vertical-align: top !important;
    overflow: visible !important;
    background-clip: border-box !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-daygrid-day:last-child {
    border-right: 0 !important;
  }

  /* ── Day frame ── */
  .cal-body .fc-dayGridMonth-view .fc-daygrid-day-frame {
    height: 60px !important;
    min-height: 60px !important;
    position: relative !important;
    overflow: visible !important;
    padding: 8px 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border-radius: 12px !important;
    margin: 2px !important;
    transition: background-color 120ms ease !important;
  }

  /* ── Weekday headers ── */
  .cal-body .fc-dayGridMonth-view .fc-col-header {
    height: auto !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-col-header-cell {
    padding: 8px 0 10px !important;
    border: 0 !important;
    background: transparent !important;
    height: auto !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-col-header-cell-cushion {
    font-weight: 700 !important;
    font-size: 10.5px !important;
    line-height: 1 !important;
    font-family: ui-sans-serif, system-ui, -apple-system, sans-serif !important;
    letter-spacing: 0.10em !important;
    text-transform: uppercase !important;
    color: #9A8E82 !important;
    padding: 0 !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-col-header-cell.fc-day-sat .fc-col-header-cell-cushion,
  .cal-body .fc-dayGridMonth-view .fc-col-header-cell.fc-day-sun .fc-col-header-cell-cushion {
    color: #5C4D43 !important;
  }

  /* ── Day numbers ── */
  .cal-body .fc-dayGridMonth-view .fc-daygrid-day-top {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    justify-content: center !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-daygrid-day-number {
    font-weight: 600 !important;
    font-size: 14px !important;
    line-height: 24px !important;
    font-family: ui-sans-serif, system-ui, -apple-system, sans-serif !important;
    color: #3A2F26 !important;
    height: 24px !important;
    padding: 0 !important;
    text-align: center !important;
    float: none !important;
    text-decoration: none !important;
    margin: 0 !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-day-other .fc-daygrid-day-number {
    color: #C8BFB4 !important;
    font-weight: 500 !important;
    opacity: 1 !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-day-past:not(.fc-day-other) .fc-daygrid-day-number {
    color: #9A8E82 !important;
  }

  /* ── Today ── */
  .cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-today,
  .cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-today.fc-day-sat,
  .cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-today.fc-day-sun {
    background: transparent !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    width: 24px !important;
    height: 24px !important;
    background: #6E8A7E !important;
    color: #FFFEFB !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    line-height: 24px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
  }

  /* ── Event dots ── */
  .cal-body .fc-dayGridMonth-view .fc-daygrid-day-events {
    position: absolute !important;
    left: 4px !important;
    right: 4px !important;
    bottom: 8px !important;
    height: 8px !important;
    min-height: 8px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-daygrid-event-harness {
    position: static !important;
    width: 6px !important;
    height: 6px !important;
    flex: 0 0 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-daygrid-event {
    all: revert !important;
    position: static !important;
    width: 6px !important;
    height: 6px !important;
    min-height: 0 !important;
    max-height: 6px !important;
    border-radius: 50% !important;
    background: #5C4D43 !important;
    border: 0 !important;
    border-left: 0 !important;
    box-shadow: none !important;
    font-size: 0 !important;
    color: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0 !important;
    display: block !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transform: none !important;
    opacity: 1 !important;
    overflow: hidden !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-day-today .fc-daygrid-event {
    background: #6E8A7E !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-day-past:not(.fc-day-today) .fc-daygrid-event {
    background: #9A8E82 !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-day-other .fc-daygrid-event {
    background: #C8BFB4 !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-daygrid-event-harness:nth-of-type(n+4) {
    display: none !important;
  }

  /* Hide event text visually — no aria-hidden */
  .cal-body .fc-dayGridMonth-view .fc-event-title,
  .cal-body .fc-dayGridMonth-view .fc-event-time,
  .cal-body .fc-dayGridMonth-view .fc-event-main,
  .cal-body .fc-dayGridMonth-view .fc-event-main-frame,
  .cal-body .fc-dayGridMonth-view .fc-event-title-container,
  .cal-body .fc-dayGridMonth-view .fc-daygrid-event-dot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  /* ── More link ── */
  .cal-body .fc-dayGridMonth-view .fc-daygrid-more-link {
    font-weight: 700 !important;
    font-size: 9.5px !important;
    line-height: 1 !important;
    font-family: ui-sans-serif, system-ui, -apple-system, sans-serif !important;
    color: #9A8E82 !important;
    text-decoration: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* ── Hover / focus ── */
  .cal-body .fc-dayGridMonth-view .fc-daygrid-day-frame:hover,
  .cal-body .fc-dayGridMonth-view .fc-daygrid-day-frame:focus-within {
    background-color: rgba(58, 47, 38, 0.04) !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-day-today .fc-daygrid-day-frame:hover,
  .cal-body .fc-dayGridMonth-view .fc-day-today .fc-daygrid-day-frame:focus-within {
    background-color: rgba(110, 138, 126, 0.10) !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-daygrid-day:hover {
    transform: none !important;
    background: transparent !important;
  }

  .cal-body .fc-dayGridMonth-view .fc-daygrid-event:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  /* ── Reduced motion within mobile month ── */
  @media (prefers-reduced-motion: reduce) {
    .cal-body .fc-dayGridMonth-view .fc-daygrid-day-frame {
      transition: none !important;
    }
  }
}

@media (prefers-contrast: more) {
  .cal-body .fc-event {
    border: 2px solid currentColor !important;
  }

  .cal-body .fc-day-today {
    outline: 2px solid rgba(212, 168, 154, 0.65) !important;
    outline-offset: 2px !important;
  }

  .cal-body .fc-toolbar button,
  .cal-body .fc-toolbar .fc-button,
  .cal-body .fc-toolbar .gcal-connect-btn {
    border: 1px solid currentColor !important;
  }
}

@media (orientation: landscape) and (max-height: 500px) {
  .cal-drawer {
    max-height: 60dvh !important;
    max-height: 60vh !important;
  }

  body:has(.cal-body) .flatpickr-calendar.open,
  body:has(.cal-body) .flatpickr-calendar.inline {
    max-height: 70dvh !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
  }

  .cal-body .fc-popover.fc-more-popover {
    max-height: 50dvh !important;
    max-height: 50vh !important;
  }
}

/* Drawer inputs — 16px minimum on mobile to prevent iOS zoom (#2260) */
@media (max-width: 767px) {
  .cal-drawer-body .input,
  .cal-drawer-body textarea,
  .cal-drawer-body select,
  .cal-drawer-body input[type="time"],
  .cal-drawer-body input[type="date"],
  .smart-drawer .input,
  .smart-drawer textarea,
  .smart-drawer select {
    font-size: 16px !important;
  }

  .nl-bar-input,
  .nl-clarify-input,
  .nl-datechip-input,
  .cal-quick-add-input {
    font-size: 16px !important;
  }

  .cal-body .fc-list-event td {
    min-height: 44px !important;
  }
}

/* Neutralise mobile nav when Kalender drawer is open (#2260) */
@media (max-width: 767px) {
  body.cal-drawer-open #bb-mobile-nav {
    pointer-events: none !important;
    visibility: hidden !important;
  }
}

/* Decorative arcs — prevent horizontal overflow on narrow viewports (#2260) */
@media (max-width: 767px) {
  .decorative-arcs-bl {
    display: none !important;
  }
}

/* More-popover dismiss safely: z-index above nav, 44px close, nav dim (#2641) */
@media (max-width: 767px) {
  .cal-body .fc-popover.fc-more-popover {
    z-index: 9050 !important;
    max-height: calc(70dvh - var(--mn-bar-height, 60px)) !important;
    max-height: calc(70vh - var(--mn-bar-height, 60px)) !important;
  }

  .cal-body .fc-popover.fc-more-popover .fc-popover-body {
    max-height: calc(60dvh - var(--mn-bar-height, 60px)) !important;
    max-height: calc(60vh - var(--mn-bar-height, 60px)) !important;
    overflow-y: auto !important;
  }

  .cal-body .fc-popover.fc-more-popover .fc-popover-close {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 10px !important;
  }

  .cal-body .fc-popover.fc-more-popover .fc-popover-close:focus-visible {
    outline: 2px solid #6E8A7E !important;
    outline-offset: 2px !important;
  }

  body.fc-popover-open #bb-mobile-nav {
    pointer-events: none !important;
    opacity: 0.4 !important;
    transition: opacity 0.15s ease !important;
  }
}

/* Neutralise NL bar when drawer is open (#2269) */
@media (max-width: 767px) {
  body.cal-drawer-open .nl-bar {
    pointer-events: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
}

/* ================================================================
   DARK MODE — mobile toolbar overrides (#2269)
   The ≤640px calm toolbar uses hardcoded light colours that must
   be overridden when [data-theme="dark"] is active.
   ================================================================ */
@media (max-width: 640px) {
  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-toolbar-title {
    color: #E8DDD4 !important;
  }

  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-prev-button,
  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-next-button {
    background: transparent !important;
    border-color: rgba(232, 224, 216, 0.12) !important;
    color: #C8BEB2 !important;
  }

  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-prev-button:hover,
  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-prev-button:focus-visible,
  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-next-button:hover,
  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-next-button:focus-visible {
    background: rgba(212, 168, 154, 0.08) !important;
    color: #E8DDD4 !important;
    border-color: rgba(232, 224, 216, 0.20) !important;
  }

  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .cal-view-segmented {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(232, 224, 216, 0.10) !important;
  }

  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .cal-view-seg-btn {
    color: #C8BEB2 !important;
  }

  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .cal-view-seg-btn:hover {
    color: #E8DDD4 !important;
  }

  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .cal-view-seg-btn:focus-visible {
    color: #E8DDD4 !important;
    outline: 2px solid #6E8A7E !important;
    outline-offset: 2px !important;
  }

  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .cal-view-seg-btn.active {
    background: rgba(110, 138, 126, 0.20) !important;
    color: #E8DDD4 !important;
    box-shadow: none !important;
  }

  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-addEvent-button.fc-addEvent-button--mobile {
    background: #5F7C70 !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(212,168,154,0.5) !important;
  }

  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-addEvent-button.fc-addEvent-button--mobile:hover,
  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-addEvent-button.fc-addEvent-button--mobile:focus-visible {
    background: #4A6B5E !important;
  }

  /* ================================================================
     DARK MODE — mobile day-view surface overrides (#2589)
     ================================================================ */
  [data-theme="dark"] .cal-body .fc-view-harness.fc-view-harness-active:has(.fc-timeGridDay-view) {
    background: rgba(42, 38, 34, 0.85) !important;
    border-color: rgba(232, 224, 216, 0.08) !important;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12), 0 8px 24px -10px rgba(0, 0, 0, 0.25) !important;
  }

  [data-theme="dark"] .cal-body .fc-timeGridDay-view .cal-day-header-weekday {
    color: #C8BEB2 !important;
  }

  [data-theme="dark"] .cal-body .fc-timeGridDay-view .cal-day-header-num {
    background: rgba(42, 38, 34, 0.85) !important;
    color: #E8DDD4 !important;
    border-color: rgba(232, 224, 216, 0.12) !important;
  }

  [data-theme="dark"] .cal-body .fc-timeGridDay-view .cal-day-header-month {
    color: #C8BEB2 !important;
  }

  [data-theme="dark"] .cal-body .fc-timeGridDay-view .fc-day-today .cal-day-header-num {
    background: #5F7C70 !important;
    color: #F0EBE5 !important;
    border-color: rgba(110, 138, 126, 0.30) !important;
  }

  [data-theme="dark"] .cal-body .fc-timeGridDay-view .fc-day-today .cal-day-header-weekday {
    color: #C8BEB2 !important;
  }

  [data-theme="dark"] .cal-body .fc-timeGridDay-view .fc-timegrid-slot-label-cushion {
    color: #C8BEB2 !important;
  }

  [data-theme="dark"] .cal-body .fc-timeGridDay-view .fc-timegrid-axis-cushion {
    color: #C8BEB2 !important;
  }

  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-prev-button:hover,
  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-prev-button:focus-visible,
  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-next-button:hover,
  [data-theme="dark"] .cal-body .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-next-button:focus-visible {
    background: rgba(212, 168, 154, 0.08) !important;
  }

}

/* ================================================================
   DARK MODE — mobile month dot-grid overrides (#2269)
   ================================================================ */
@media (max-width: 640px) {
  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-day {
    border-color: rgba(232, 224, 216, 0.06) !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-col-header-cell-cushion {
    color: #C8BEB2 !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-col-header-cell.fc-day-sat .fc-col-header-cell-cushion,
  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-col-header-cell.fc-day-sun .fc-col-header-cell-cushion {
    color: #E8DDD4 !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-day-number {
    color: #E8DDD4 !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-day-other .fc-daygrid-day-number {
    color: rgba(200, 190, 178, 0.55) !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-day-past:not(.fc-day-other) .fc-daygrid-day-number {
    color: #C8BEB2 !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    background: #5F7C70 !important;
    color: #F0EBE5 !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-event {
    background: #C8BEB2 !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-day-today .fc-daygrid-event {
    background: #6E8A7E !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-day-past:not(.fc-day-today) .fc-daygrid-event {
    background: rgba(200, 190, 178, 0.55) !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-day-other .fc-daygrid-event {
    background: rgba(200, 190, 178, 0.35) !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-day-frame:hover,
  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-day-frame:focus-within {
    background-color: rgba(232, 224, 216, 0.06) !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-day-today .fc-daygrid-day-frame:hover,
  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-day-today .fc-daygrid-day-frame:focus-within {
    background-color: rgba(110, 138, 126, 0.14) !important;
  }

  [data-theme="dark"] .cal-body .fc-dayGridMonth-view .fc-daygrid-more-link {
    color: #C8BEB2 !important;
  }
}

/* ================================================================
   MOBILE TOUCH TARGETS — drawer footer + filter items (#2269)
   ================================================================ */
@media (max-width: 767px) {
  .cal-drawer-footer #event-delete-btn,
  .cal-drawer-footer #event-cancel-btn {
    min-height: 44px !important;
    min-width: 44px !important;
  }
}

@media (max-width: 767px), (pointer: coarse) {
  .cal-filter-popover label.cal-filter {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 12px !important;
  }

  .cal-filter-popover label.cal-filter .cal-filter-cb {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
