/* material-symbols-100 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 100;
  src: url('../fonts/material-symbols-outlined-v321-latin-100.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* material-symbols-200 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/material-symbols-outlined-v321-latin-200.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* material-symbols-300 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/material-symbols-outlined-v321-latin-300.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* material-symbols-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/material-symbols-outlined-v321-latin-regular.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* material-symbols-500 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/material-symbols-outlined-v321-latin-500.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* material-symbols-600 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/material-symbols-outlined-v321-latin-600.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* material-symbols-700 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/material-symbols-outlined-v321-latin-700.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-200 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/plus-jakarta-sans-v12-latin-200.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-200italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 200;
  src: url('../fonts/plus-jakarta-sans-v12-latin-200italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-300 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/plus-jakarta-sans-v12-latin-300.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-300italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/plus-jakarta-sans-v12-latin-300italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/plus-jakarta-sans-v12-latin-regular.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/plus-jakarta-sans-v12-latin-italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-500 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/plus-jakarta-sans-v12-latin-500.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-500italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 500;
  src: url('../fonts/plus-jakarta-sans-v12-latin-500italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-600 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/plus-jakarta-sans-v12-latin-600.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-600italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/plus-jakarta-sans-v12-latin-600italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-700 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/plus-jakarta-sans-v12-latin-700.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-700italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/plus-jakarta-sans-v12-latin-700italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-800 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/plus-jakarta-sans-v12-latin-800.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* plus-jakarta-sans-800italic - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 800;
  src: url('../fonts/plus-jakarta-sans-v12-latin-800italic.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* work-sans-100 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 100;
  src: url('../fonts/work-sans-v24-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-100italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: italic;
  font-weight: 100;
  src: url('../fonts/work-sans-v24-latin-100italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/work-sans-v24-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-200italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: italic;
  font-weight: 200;
  src: url('../fonts/work-sans-v24-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/work-sans-v24-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/work-sans-v24-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/work-sans-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/work-sans-v24-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/work-sans-v24-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: italic;
  font-weight: 500;
  src: url('../fonts/work-sans-v24-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/work-sans-v24-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/work-sans-v24-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/work-sans-v24-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/work-sans-v24-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/work-sans-v24-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: italic;
  font-weight: 800;
  src: url('../fonts/work-sans-v24-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/work-sans-v24-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-900italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans';
  font-style: italic;
  font-weight: 900;
  src: url('../fonts/work-sans-v24-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* manrope-200 - latin */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/manrope-v20-latin-200.woff2') format('woff2');
}

/* manrope-300 - latin */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/manrope-v20-latin-300.woff2') format('woff2');
}

/* manrope-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/manrope-v20-latin-regular.woff2') format('woff2');
}

/* manrope-500 - latin */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/manrope-v20-latin-500.woff2') format('woff2');
}

/* manrope-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/manrope-v20-latin-600.woff2') format('woff2');
}

/* manrope-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/manrope-v20-latin-700.woff2') format('woff2');
}

/* manrope-800 - latin */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/manrope-v20-latin-800.woff2') format('woff2');
}

/* --- Global Pagination System (Standardized) --- */
.pagination-container {
    padding: 1rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid rgba(0,0,0,0.05);
}

.page-btn {
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    background: transparent;
    font-weight: 600;
    font-size: 0.85rem;
    color: #475569;
    cursor: pointer;
    margin: 0 0.15rem;
}

.page-btn.active {
    background-color: #206223 !important;
    color: white !important;
    border-radius: 50%; /* Circle for active */
    box-shadow: 0 4px 10px rgba(32, 98, 35, 0.2);
}

.page-btn.boundary-btn {
    background-color: #f1f5f1; /* Light greenish/grey background */
    color: #1a1c19;
    border-radius: 0.75rem; /* Rounded Square */
}

.page-btn.boundary-btn:hover:not(:disabled) {
    background-color: #e2e8e2;
}

.page-btn:hover:not(.active):not(:disabled) {
    color: #206223;
}

.page-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

#pageInfo {
    font-family: 'Manrope', sans-serif;
    color: #64748b;
    font-weight: 500;
}

/* --- Global Modal Header Refinements --- */
.modal-branding-column h2,
.modal-side-panel h2,
.v-modal-form-area h2,
.animal-modal-container h2,
.modal-title,
.modal-title-label,
.modal-branding-content h2,
.v-modal-wrapper h2 {
    color: #3e2723 !important;
}

/* Ensure icons next to titles follow suit if they are intended to be part of the header */
.modal-branding-content .material-symbols-outlined,
.modal-side-panel .material-symbols-outlined {
    color: #3e2723 !important;
    opacity: 0.9;
}

/* --- Flatpickr Dark Theme Custom Overrides (Botanical Style) --- */
body.dark-theme .flatpickr-calendar {
    background-color: #1a1c19 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5) !important;
    color: #f0f6fc !important;
}

/* Arrow indicators */
body.dark-theme .flatpickr-calendar.arrowUp::after {
    border-bottom-color: #1a1c19 !important;
}
body.dark-theme .flatpickr-calendar.arrowUp::before {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}
body.dark-theme .flatpickr-calendar.arrowDown::after {
    border-top-color: #1a1c19 !important;
}
body.dark-theme .flatpickr-calendar.arrowDown::before {
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}

/* Month and Year Header */
body.dark-theme .flatpickr-months {
    background-color: #1a1c19 !important;
}
body.dark-theme .flatpickr-months .flatpickr-month {
    color: #cbffc2 !important;
}
body.dark-theme .flatpickr-current-month {
    color: #cbffc2 !important;
}
body.dark-theme .flatpickr-current-month .numInputWrapper span.arrowUp::after {
    border-bottom-color: #cbffc2 !important;
}
body.dark-theme .flatpickr-current-month .numInputWrapper span.arrowDown::after {
    border-top-color: #cbffc2 !important;
}
body.dark-theme .flatpickr-months .flatpickr-prev-month,
body.dark-theme .flatpickr-months .flatpickr-next-month {
    color: #cbffc2 !important;
    fill: #cbffc2 !important;
}
body.dark-theme .flatpickr-months .flatpickr-prev-month:hover,
body.dark-theme .flatpickr-months .flatpickr-next-month:hover {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* Weekdays */
body.dark-theme .flatpickr-weekdays {
    background-color: #1a1c19 !important;
}
body.dark-theme span.flatpickr-weekday {
    color: #a3b899 !important;
    font-weight: 600;
}

/* Days container & Day cells */
body.dark-theme .flatpickr-days {
    border: none !important;
}
body.dark-theme .flatpickr-day {
    color: #f0f6fc !important;
    border-color: transparent !important;
}

/* Hover and active states */
body.dark-theme .flatpickr-day:hover,
body.dark-theme .flatpickr-day:focus {
    background-color: #2e3725 !important;
    color: #ffffff !important;
}

/* Days of previous/next months */
body.dark-theme .flatpickr-day.prevMonthDay,
body.dark-theme .flatpickr-day.nextMonthDay {
    color: rgba(255, 255, 255, 0.25) !important;
}
body.dark-theme .flatpickr-day.prevMonthDay:hover,
body.dark-theme .flatpickr-day.nextMonthDay:hover {
    background-color: #2e3725 !important;
    color: rgba(255, 255, 255, 0.6) !important;
}

/* Today highlight */
body.dark-theme .flatpickr-day.today {
    border-color: #cbffc2 !important;
    color: #cbffc2 !important;
}
body.dark-theme .flatpickr-day.today:hover {
    background-color: #cbffc2 !important;
    color: #1a1c19 !important;
}

/* Selected day */
body.dark-theme .flatpickr-day.selected,
body.dark-theme .flatpickr-day.selected:hover {
    background-color: #206223 !important;
    color: #ffffff !important;
    border-color: #206223 !important;
    box-shadow: 0 4px 10px rgba(32, 98, 35, 0.3) !important;
}

/* Disabled days */
body.dark-theme .flatpickr-day.flatpickr-disabled,
body.dark-theme .flatpickr-day.flatpickr-disabled:hover {
    color: rgba(255, 255, 255, 0.15) !important;
    background: transparent !important;
}

/* --- Botanical Field & Datepicker Wrapper Adjustments --- */
.botanical-field {
    background-color: #ffffff !important;
    color: #475569 !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    transition: all 0.2s ease-in-out;
}

.botanical-field::placeholder {
    color: #94a3b8 !important;
}

body.dark-theme .botanical-field {
    background-color: #161b22 !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

body.dark-theme .botanical-field::placeholder {
    color: rgba(255, 255, 255, 0.3) !important;
}

/* --- Table Controls & Filters Dark Theme Overrides --- */
body.dark-theme .table-controls {
    background-color: #1a1c19 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

body.dark-theme .table-controls select.bg-light,
body.dark-theme .table-controls select,
body.dark-theme .table-controls input.bg-light,
body.dark-theme .table-controls input {
    background-color: #161b22 !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

body.dark-theme .table-controls select option {
    background-color: #161b22 !important;
    color: #ffffff !important;
}

body.dark-theme .table-controls button.bg-light,
body.dark-theme .table-controls button,
body.dark-theme .table-controls .btn-light {
    background-color: #161b22 !important;
    color: #cbffc2 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Toggle filters button styling in dark theme */
body.dark-theme #toggleFiltersBtn {
    background-color: #161b22 !important;
    color: #cbffc2 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Registry table container card dark styling */
body.dark-theme .log-table-container,
body.dark-theme .animals-table-card {
    background-color: #1a1c19 !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* Milking Log Registry and section titles */
body.dark-theme .log-table-container h5.section-header,
body.dark-theme .animals-table-card h5.section-header {
    color: #cbffc2 !important;
}

/* --- Table Controls Desktop Spacing --- */
@media (min-width: 576px) {
    .table-controls .mobile-filter-group,
    .table-controls .mobile-search-group {
        margin-bottom: 0.85rem !important;
    }
}

/* --- Pop-up Actions Menu Style Overrides --- */
/* Slightly rounded border radius for both modes and all states */
.actions-dropdown,
.actions-dropdown.show {
    border-radius: 0.5rem !important;
}

/* Active menu item (hover/active states) in Light Mode */
.action-menu-item:hover,
.action-menu-item:active {
    background: transparent !important;
    outline: 1.5px solid #206223 !important;
    border-color: transparent !important;
    color: #206223 !important;
}
.action-menu-item:hover span,
.action-menu-item:active span {
    color: #1b4d22 !important; /* Darker green icon */
}

/* Dark Mode overrides */
body.dark-theme .actions-dropdown,
body.dark-theme .actions-dropdown.show {
    background-color: #161b22 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 0.5rem !important;
}

/* Lighter gray shade for icon and text in Dark Mode */
body.dark-theme .action-menu-item {
    color: #c9d1d9 !important;
}
body.dark-theme .action-menu-item span {
    color: #c9d1d9 !important;
}

/* Active menu item in Dark Mode */
body.dark-theme .action-menu-item:hover,
body.dark-theme .action-menu-item:active,
body.dark-theme .action-menu-item.active {
    background: transparent !important;
    outline: 1.5px solid #1a2e1d !important; /* Outline takes current dark-green hover background color */
    border-color: transparent !important;
    color: #cbffc2 !important;
}
body.dark-theme .action-menu-item:hover span,
body.dark-theme .action-menu-item:active span,
body.dark-theme .action-menu-item.active span {
    color: #206223 !important; /* Darker green icon in dark theme contrast context */
}

/* Responsive Width and Layout Utilities */
@media (min-width: 768px) {
    .w-md-auto {
        width: auto !important;
    }
    .page-description {
        white-space: nowrap !important;
    }
}

/* Flexbox and Grid Gap Utilities for Bootstrap 4 */
.gap-1 { gap: 0.25rem !important; }
.gap-2 { gap: 0.5rem !important; }
.gap-3 { gap: 1rem !important; }
.gap-4 { gap: 1.5rem !important; }
.gap-5 { gap: 3rem !important; }