@charset "UTF-8";@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;700&display=swap");@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100;
  font-stretch: normal;
  src: url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbFmUiAw-CnAg2DeQ.woff) format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-stretch: normal;
  src: url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabVmUiAw-CoAZ_DKt.woff) format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  src: url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAw-BG9VWE5v.woff) format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  src: url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bVmUiAw-D0406B4n.woff) format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  src: url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjalmUiAw-k1h7X_-h.woff) format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-stretch: normal;
  src: url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtalmUiAw-B7du-70m.woff) format('woff');
}
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ-D-x-0Q06.woff2') format('woff2'), url('/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-OUIwM9U8.woff') format('woff');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}


@media print {
  /* Hide app chrome/toolbars when printing */
  .q-editor__toolbar {
    display: none !important;
  }
  /* Force page breaks where requested */
  .page-break {
    break-after: page;
    page-break-after: always;
    height: 0;
    overflow: hidden;
  }
  @page {
    margin: 12mm;
  }
}
body {
  font-family: "Comfortaa", sans-serif;
  background-color: var(--background-color);
  color: var(--text-color);
  transition: background-color 0.3s, color 0.3s;
}

:root {
  /* Light Theme Variables */
  --primary-green: #2E7D32;
  --accent-red: #eb5757;
  --neutral-gray: #e0e0e0;
  --text-color: #000000;
  --text-secondary: #555555;
  --card-bg: #ffffff;
  --card-border: rgba(0, 0, 0, 0.08);
  --shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
  --border-radius: 16px;
  --blur-bg: rgba(248, 248, 248, 0.6);
  --background-color: #ffffff;
  --surface-color: #f5f5f5;
  --surface-color-2: #eeeeee;
  --border-color: rgba(0, 0, 0, 0.12);
  --input-bg: #ffffff;
  --table-header-bg: #f5f5f5;
  --table-row-hover: #f0f4f8;
  --table-border: rgba(0, 0, 0, 0.08);
  --sidebar-bg: #ffffff;
  --drawer-bg: #ffffff;
  --dialog-bg: #ffffff;
  --chip-bg: #e0e0e0;
  --chip-text: #333333;
  --hover-overlay: rgba(0, 0, 0, 0.04);
  --active-overlay: rgba(0, 0, 0, 0.08);
  --scrollbar-thumb: rgba(0, 0, 0, 0.2);
  --scrollbar-track: rgba(0, 0, 0, 0.05);
  --dark-header-bg: #ffffff;
}

/* ─── Dark Theme ─── */
.body--dark {
  --primary-green: #4CAF50;
  --accent-red: #ef5350;
  --neutral-gray: #333333;
  --text-color: #e8e6e3;
  --text-secondary: #aaaaaa;
  --card-bg: #232527;
  --card-border: rgba(255, 255, 255, 0.07);
  --shadow: 0px 4px 12px rgba(0, 0, 0, 0.35);
  --border-radius: 16px;
  --blur-bg: rgba(24, 26, 27, 0.6);
  --background-color: #181a1b;
  --surface-color: #1e2022;
  --surface-color-2: #26282a;
  --border-color: rgba(255, 255, 255, 0.08);
  --input-bg: #2a2c2e;
  --table-header-bg: #1e2022;
  --table-row-hover: #2a2c2e;
  --table-border: rgba(255, 255, 255, 0.06);
  --sidebar-bg: #1e2022;
  --drawer-bg: #1e2022;
  --dialog-bg: #232527;
  --chip-bg: #3a3c3e;
  --chip-text: #e8e6e3;
  --hover-overlay: rgba(255, 255, 255, 0.05);
  --active-overlay: rgba(255, 255, 255, 0.1);
  --scrollbar-thumb: rgba(255, 255, 255, 0.2);
  --scrollbar-track: rgba(255, 255, 255, 0.04);
  --dark-header-bg: #1e2022;
}

/* ─── Global Scrollbar ─── */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}

*::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

*::-webkit-scrollbar-track {
  background: var(--scrollbar-track);
}

*::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 3px;
}

/* ─── Layout ─── */
.bg-grey-1 {
  background-color: var(--neutral-gray) !important;
}

/* ─── Dark header background ─── */
.bg-dark-header {
  background-color: var(--dark-header-bg) !important;
}

/* ─── Cards ─── */
.q-card {
  background: var(--card-bg);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
  padding: 16px;
  color: var(--text-color);
  border: 1px solid var(--card-border);
}

/* ─── Buttons ─── */
.q-btn {
  border-radius: 12px;
  padding: 10px 18px;
  text-transform: none;
}

.q-btn--standard.q-btn--filled {
  background-color: var(--primary-green) !important;
  color: white !important;
}

.q-btn--standard.q-btn--outline {
  color: var(--primary-green) !important;
  border-color: var(--primary-green) !important;
}

.q-btn--primary {
  color: var(--primary-green) !important;
}

.q-btn--primary.q-btn--filled {
  background-color: var(--primary-green) !important;
  color: white !important;
}

/* ─── Toolbar ─── */
.q-toolbar {
  background: var(--dark-header-bg);
  box-shadow: var(--shadow);
  color: var(--text-color);
}

/* ─── Drawer / Sidebar ─── */
.q-drawer {
  background: var(--sidebar-bg) !important;
  color: var(--text-color);
}

.body--dark .q-drawer {
  background: var(--sidebar-bg) !important;
  border-right: 1px solid var(--border-color);
}

.body--dark .q-drawer--right {
  border-left: 1px solid var(--border-color);
  border-right: none;
}

/* ─── List Items ─── */
.body--dark .q-item {
  color: var(--text-color);
}

.body--dark .q-item__label {
  color: var(--text-color);
}

.body--dark .q-item__label--caption {
  color: var(--text-secondary);
}

.body--dark .q-item--active {
  color: white !important;
}

.body--dark .q-list--separator .q-item-type + .q-item-type {
  border-top: 1px solid var(--border-color);
}

/* ─── Separator ─── */
.body--dark .q-separator {
  background: var(--border-color);
}

/* ─── Inputs & Fields ─── */
.body--dark .q-field__control {
  background: var(--input-bg);
  color: var(--text-color);
}

.body--dark .q-field__native,
.body--dark .q-field__prefix,
.body--dark .q-field__suffix,
.body--dark .q-field__input {
  color: var(--text-color);
}

.body--dark .q-field__label {
  color: var(--text-secondary);
}

.body--dark .q-field--focused .q-field__label {
  color: var(--primary-green);
}

.body--dark .q-field--outlined .q-field__control {
  background: var(--input-bg);
  border-color: var(--border-color);
}

.body--dark .q-field--outlined .q-field__control:hover::before {
  border-color: var(--primary-green);
}

.body--dark .q-field--filled .q-field__control {
  background: var(--surface-color-2);
}

.body--dark .q-field--standout .q-field__control {
  background: var(--surface-color-2);
}

.body--dark .q-field__bottom {
  color: var(--text-secondary);
}

.body--dark .q-field__messages {
  color: var(--text-secondary);
}

/* ─── Select ─── */
.body--dark .q-select__dropdown-icon {
  color: var(--text-secondary);
}

/* ─── Menu / Popup ─── */
.body--dark .q-menu {
  background: var(--dialog-bg);
  color: var(--text-color);
  border: 1px solid var(--border-color);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

.body--dark .q-virtual-scroll__content .q-item {
  color: var(--text-color);
}

/* ─── Tables ─── */
.body--dark .q-table__container {
  background: var(--card-bg);
  color: var(--text-color);
}

.body--dark .q-table thead tr th {
  background: var(--table-header-bg);
  color: var(--text-secondary);
  border-bottom: 1px solid var(--table-border);
}

.body--dark .q-table tbody tr td {
  border-bottom: 1px solid var(--table-border);
  color: var(--text-color);
}

.body--dark .q-table tbody tr:hover td {
  background: var(--table-row-hover);
}

.body--dark .q-table__bottom {
  background: var(--card-bg);
  color: var(--text-secondary);
  border-top: 1px solid var(--table-border);
}

.body--dark .q-table--bordered {
  border: 1px solid var(--table-border);
}

/* ─── Tabs ─── */
.body--dark .q-tabs {
  background: var(--card-bg);
  color: var(--text-color);
}

.body--dark .q-tab__label {
  color: var(--text-color);
}

.body--dark .q-tab--active .q-tab__label {
  color: var(--primary-green);
}

.body--dark .q-tab-panels {
  background: var(--card-bg);
}

.body--dark .q-panel {
  background: var(--card-bg);
  color: var(--text-color);
}

/* ─── Dialogs ─── */
.body--dark .q-dialog__inner > .q-card {
  background: var(--dialog-bg);
  color: var(--text-color);
}

/* ─── Chips ─── */
.body--dark .q-chip {
  background: var(--chip-bg);
  color: var(--chip-text);
}

/* ─── Badges ─── */
.body--dark .q-badge--floating {
  border-color: var(--card-bg);
}

/* ─── Expansion Items ─── */
.body--dark .q-expansion-item .q-item {
  background: var(--card-bg);
  color: var(--text-color);
}

.body--dark .q-expansion-item__container {
  background: var(--surface-color);
}

/* ─── Item Label (headers in lists) ─── */
.body--dark .q-item-label--header {
  color: var(--text-secondary);
}

/* ─── Tooltip ─── */
.body--dark .q-tooltip {
  background: #444648;
  color: #e8e6e3;
}

/* ─── Scroll Area ─── */
.body--dark .q-scrollarea__thumb {
  background: var(--scrollbar-thumb);
}

/* ─── Avatar ─── */
.body--dark .q-avatar {
  background: var(--surface-color-2);
  color: var(--text-color);
}

/* ─── Banner ─── */
.body--dark .q-banner {
  background: var(--surface-color);
  color: var(--text-color);
}

/* ─── Breadcrumbs ─── */
.body--dark .q-breadcrumbs__el {
  color: var(--text-color);
}

.body--dark .q-breadcrumbs__separator {
  color: var(--text-secondary);
}

/* ─── Timeline ─── */
.body--dark .q-timeline__dot {
  background: var(--card-bg);
}

.body--dark .q-timeline__line {
  background: var(--border-color);
}

/* ─── Knob / Circular progress ─── */
.body--dark .q-circular-progress__track {
  color: var(--surface-color-2);
}

/* ─── Linear Progress ─── */
.body--dark .q-linear-progress__track {
  background: var(--surface-color-2);
}

/* ─── Stepper ─── */
.body--dark .q-stepper {
  background: var(--card-bg);
  color: var(--text-color);
}

.body--dark .q-stepper__header {
  background: var(--card-bg);
  border-bottom: 1px solid var(--border-color);
}

.body--dark .q-stepper__dot {
  border-color: var(--border-color);
}

/* ─── Tree ─── */
.body--dark .q-tree__node-header {
  color: var(--text-color);
}

.body--dark .q-tree__node-header:hover {
  background: var(--hover-overlay);
}

/* ─── Date Picker / Time Picker ─── */
.body--dark .q-date {
  background: var(--dialog-bg);
  color: var(--text-color);
}

.body--dark .q-date__header {
  background: var(--primary-green);
}

.body--dark .q-date__calendar-item button,
.body--dark .q-date__months-item button,
.body--dark .q-date__years-item button {
  color: var(--text-color);
}

.body--dark .q-date__calendar-item button:hover {
  background: var(--hover-overlay);
}

.body--dark .q-time {
  background: var(--dialog-bg);
  color: var(--text-color);
}

.body--dark .q-time__header {
  background: var(--primary-green);
}

.body--dark .q-time__clock {
  background: var(--surface-color);
}

.body--dark .q-time__clock-circle {
  color: var(--text-color);
}

.body--dark .q-time__clock-pointer {
  background: var(--primary-green);
}

/* ─── Pagination ─── */
.body--dark .q-pagination .q-btn:not(.bg-primary) {
  color: var(--text-color);
  background: var(--surface-color-2);
}

/* ─── Uploader ─── */
.body--dark .q-uploader {
  background: var(--card-bg);
  color: var(--text-color);
  border: 1px solid var(--border-color);
}

.body--dark .q-uploader__list {
  background: var(--surface-color);
}

/* ─── Editor ─── */
.body--dark .q-editor {
  background: var(--input-bg);
  color: var(--text-color);
  border: 1px solid var(--border-color);
}

.body--dark .q-editor__toolbar {
  background: var(--surface-color);
  border-bottom: 1px solid var(--border-color);
}

/* ─── Slider / Range ─── */
.body--dark .q-slider__track {
  background: var(--surface-color-2);
}

.body--dark .q-slider__thumb {
  color: var(--primary-green);
}

/* ─── Toggle / Checkbox / Radio ─── */
.body--dark .q-toggle__inner {
  color: var(--text-secondary);
}

.body--dark .q-checkbox__inner {
  color: var(--text-secondary);
}

.body--dark .q-radio__inner {
  color: var(--text-secondary);
}

/* ─── Skeletons ─── */
.body--dark .q-skeleton {
  background: var(--surface-color-2);
}

/* ─── Specific Quasar Page backgrounds ─── */
.body--dark .q-page {
  background: var(--background-color);
}

.body--dark .q-layout {
  background: var(--background-color);
}

/* ─── Fix hardcoded bg-white / bg-grey classes in dark mode ─── */
.body--dark .bg-white {
  background-color: var(--card-bg) !important;
  color: var(--text-color) !important;
}

.body--dark .bg-grey-1 {
  background-color: var(--background-color) !important;
}

.body--dark .bg-grey-2 {
  background-color: var(--surface-color) !important;
}

.body--dark .bg-grey-3 {
  background-color: var(--surface-color-2) !important;
}

.body--dark .bg-grey-4 {
  background-color: #303234 !important;
}

.body--dark .bg-grey-9 {
  background-color: #c0bebb !important;
}

/* Ensure text colors adapt */
.body--dark .text-grey-9 {
  color: #d0cecc !important;
}

.body--dark .text-grey-8 {
  color: #b0aeac !important;
}

.body--dark .text-grey-7 {
  color: #909090 !important;
}

.body--dark .text-grey-6 {
  color: #787878 !important;
}

.body--dark .text-dark {
  color: var(--text-color) !important;
}

.body--dark .text-black {
  color: var(--text-color) !important;
}

/* ─── Utility Classes ─── */
.transparent-blur-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background: var(--blur-bg);
  backdrop-filter: blur(10px);
}

.primary-green {
  background: var(--primary-green);
  color: white;
  border-radius: var(--border-radius);
}

.accent-red {
  background: var(--accent-red);
  color: white;
  border-radius: var(--border-radius);
}

/* ─── Glass Card ─── */
.glass-card {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(12px);
  border-radius: var(--border-radius);
  padding: 15px;
  box-shadow: var(--shadow);
  color: var(--text-color);
}

.body--dark .glass-card {
  background: rgba(35, 37, 39, 0.6);
}

/* ─── Glass Effect ─── */
.glass-effect {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 15px;
  color: var(--text-color);
}

.body--dark .glass-effect {
  background: rgba(35, 37, 39, 0.6);
}

/* ─── Transparent Card ─── */
.transparent-card {
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(10px);
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  color: var(--text-color);
}

.body--dark .transparent-card {
  background-color: rgba(35, 37, 39, 0.6);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
}

/* ─── Module Page Cards (used across all modules) ─── */
.body--dark .module-card,
.body--dark .stat-card,
.body--dark .info-card,
.body--dark .summary-card,
.body--dark .detail-card,
.body--dark .report-card,
.body--dark .dashboard-card {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border: 1px solid var(--card-border);
}

/* ─── Tables used in modules (custom) ─── */
.body--dark table {
  color: var(--text-color);
}

.body--dark table th {
  background: var(--table-header-bg);
  color: var(--text-secondary);
  border-bottom: 1px solid var(--table-border);
}

.body--dark table td {
  border-bottom: 1px solid var(--table-border);
  color: var(--text-color);
}

/* ─── Charts (ApexCharts) ─── */
.body--dark .apexcharts-canvas {
  background: transparent !important;
}

.body--dark .apexcharts-text,
.body--dark .apexcharts-title-text,
.body--dark .apexcharts-legend-text {
  fill: var(--text-color) !important;
  color: var(--text-color) !important;
}

.body--dark .apexcharts-gridline {
  stroke: var(--border-color);
}

.body--dark .apexcharts-xaxis-label, .body--dark .apexcharts-yaxis-label {
  fill: var(--text-secondary);
}

.body--dark .apexcharts-tooltip {
  background: var(--dialog-bg) !important;
  color: var(--text-color) !important;
  border: 1px solid var(--border-color) !important;
}

.body--dark .apexcharts-tooltip-title {
  background: var(--surface-color) !important;
  color: var(--text-color) !important;
  border-bottom: 1px solid var(--border-color) !important;
}

/* ─── Notification Drawer ─── */
.body--dark .notification-drawer,
.body--dark .notifications-panel {
  background: var(--drawer-bg) !important;
  color: var(--text-color);
}

/* ─── Status badges / pills ─── */
.body--dark .status-badge,
.body--dark .status-pill {
  background: var(--surface-color-2);
  color: var(--text-color);
}

/* ─── Form headers and section titles ─── */
.body--dark h1, .body--dark h2, .body--dark h3,
.body--dark h4, .body--dark h5, .body--dark h6 {
  color: var(--text-color);
}

/* ─── Inline text helpers ─── */
.body--dark .text-caption {
  color: var(--text-secondary) !important;
}

.body--dark .text-subtitle1,
.body--dark .text-subtitle2 {
  color: var(--text-color);
}

/* ─── Borders ─── */
.body--dark .bordered,
.body--dark .q-card--bordered {
  border: 1px solid var(--border-color) !important;
}

/* ─── Sidebar active items in all module sidebars ─── */
.body--dark .sidebar-active-item,
.body--dark .q-item--active:not(.bg-primary) {
  background: var(--active-overlay) !important;
  color: var(--primary-green) !important;
}

/* ─── Sidebar section headers ─── */
.body--dark .sidebar-section-header {
  color: var(--text-secondary) !important;
  border-bottom: 1px solid var(--border-color);
}

/* ─── Search bars ─── */
.body--dark .search-bar,
.body--dark .search-input {
  background: var(--input-bg) !important;
  color: var(--text-color) !important;
}

/* ─── Quasar color tint overrides for dark mode ─── */
/* Blue */
.body--dark .bg-blue-1 {
  background-color: rgba(33, 150, 243, 0.12) !important;
}

.body--dark .bg-blue-2 {
  background-color: rgba(33, 150, 243, 0.18) !important;
}

.body--dark .bg-blue-3 {
  background-color: rgba(33, 150, 243, 0.25) !important;
}

/* Red */
.body--dark .bg-red-1 {
  background-color: rgba(244, 67, 54, 0.12) !important;
}

.body--dark .bg-red-2 {
  background-color: rgba(244, 67, 54, 0.18) !important;
}

.body--dark .bg-red-3 {
  background-color: rgba(244, 67, 54, 0.25) !important;
}

/* Green */
.body--dark .bg-green-1 {
  background-color: rgba(76, 175, 80, 0.12) !important;
}

.body--dark .bg-green-2 {
  background-color: rgba(76, 175, 80, 0.18) !important;
}

.body--dark .bg-green-3 {
  background-color: rgba(76, 175, 80, 0.25) !important;
}

/* Orange */
.body--dark .bg-orange-1 {
  background-color: rgba(255, 152, 0, 0.12) !important;
}

.body--dark .bg-orange-2 {
  background-color: rgba(255, 152, 0, 0.18) !important;
}

.body--dark .bg-orange-3 {
  background-color: rgba(255, 152, 0, 0.25) !important;
}

/* Amber */
.body--dark .bg-amber-1 {
  background-color: rgba(255, 193, 7, 0.12) !important;
}

.body--dark .bg-amber-2 {
  background-color: rgba(255, 193, 7, 0.18) !important;
}

/* Yellow */
.body--dark .bg-yellow-1 {
  background-color: rgba(255, 235, 59, 0.1) !important;
}

/* Purple */
.body--dark .bg-purple-1 {
  background-color: rgba(156, 39, 176, 0.12) !important;
}

.body--dark .bg-purple-2 {
  background-color: rgba(156, 39, 176, 0.18) !important;
}

/* Teal */
.body--dark .bg-teal-1 {
  background-color: rgba(0, 150, 136, 0.12) !important;
}

.body--dark .bg-teal-2 {
  background-color: rgba(0, 150, 136, 0.18) !important;
}

/* Cyan */
.body--dark .bg-cyan-1 {
  background-color: rgba(0, 188, 212, 0.12) !important;
}

/* Indigo */
.body--dark .bg-indigo-1 {
  background-color: rgba(63, 81, 181, 0.12) !important;
}

/* Pink */
.body--dark .bg-pink-1 {
  background-color: rgba(233, 30, 99, 0.12) !important;
}

/* Lime */
.body--dark .bg-lime-1 {
  background-color: rgba(205, 220, 57, 0.1) !important;
}

/* Brown */
.body--dark .bg-brown-1 {
  background-color: rgba(121, 85, 72, 0.12) !important;
}

/* Grey */
.body--dark .bg-grey-5 {
  background-color: #2e3032 !important;
}

.body--dark .bg-grey-6 {
  background-color: #353739 !important;
}

.body--dark .bg-grey-7 {
  background-color: #3c3e40 !important;
}

.body--dark .bg-grey-8 {
  background-color: #434547 !important;
}

/* Light (near-white) Quasar helpers */
.body--dark .bg-light {
  background-color: var(--surface-color) !important;
}

/* ─── q-page always uses dark background ─── */
.body--dark .q-page,
.body--dark .q-page.bg-grey-1,
.body--dark .q-page.bg-grey-2,
.body--dark .q-page.bg-white {
  background-color: var(--background-color) !important;
  color: var(--text-color) !important;
}

/* ─── Inline style background: white / #fff overrides (via class targeting) ─── */
/* These cover common hand-written class names across modules */
.body--dark .page-wrapper,
.body--dark .page-container,
.body--dark .content-wrapper,
.body--dark .main-content,
.body--dark .module-content,
.body--dark .section-wrapper {
  background-color: var(--background-color) !important;
  color: var(--text-color) !important;
}

/* ─── Common card class names used across all modules ─── */
.body--dark .card-container,
.body--dark .info-card,
.body--dark .stat-card,
.body--dark .summary-card,
.body--dark .detail-card,
.body--dark .report-card,
.body--dark .widget-card,
.body--dark .metric-card,
.body--dark .overview-card,
.body--dark .kpi-card,
.body--dark .data-card {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--card-border) !important;
}

/* ─── q-card--flat inside dark mode ─── */
.body--dark .q-card.q-card--flat {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
}

/* ─── Tables (custom + Quasar) ─── */
.body--dark .q-table__container,
.body--dark .q-table--card {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
}

/* ─── Sidebars ─── */
.body--dark .q-drawer .q-list {
  background: transparent;
}

.body--dark .q-drawer .q-item__label--header {
  color: var(--text-secondary);
}

/* ─── Dialogs / Modals ─── */
.body--dark .q-dialog__inner .q-card,
.body--dark .q-dialog__backdrop + .q-dialog__inner .q-card {
  background: var(--dialog-bg) !important;
  color: var(--text-color) !important;
}

/* ─── Select options popup ─── */
.body--dark .q-item.q-manual-focusable--focused > .q-focus-helper,
.body--dark .q-item.q-focusable:focus > .q-focus-helper {
  background: var(--hover-overlay) !important;
}

/* ─── Notification / Chip text ─── */
.body--dark .q-notification {
  background: #2a2c2e;
  color: var(--text-color);
}

/* ─── q-header force dark ─── */
.body--dark .q-header.bg-white {
  background: var(--dark-header-bg) !important;
}

/* ─── Prevent white flash on q-dialog backgrounds ─── */
.body--dark .q-dialog__backdrop {
  background: rgba(0, 0, 0, 0.65);
}

/* ─── Upload area (common pattern) ─── */
.body--dark .upload-area,
.body--dark .drop-zone {
  background: var(--surface-color) !important;
  border-color: var(--border-color) !important;
  color: var(--text-secondary) !important;
}

/* ══════════════════════════════════════════════════════════════
   COMPREHENSIVE MODULE PAGE DARK OVERRIDES
   Covers every card/header/container class found across all modules
   Uses !important to override scoped component styles.
   ══════════════════════════════════════════════════════════════ */
/* ─── Page-level header cards (most common pattern across ALL modules) ─── */
.body--dark .page-header-card,
.body--dark .executive-header-card,
.body--dark .banner-warning,
.body--dark .summary-warning {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--card-border) !important;
}

/* ─── Section / container headers ─── */
.body--dark .header-section,
.body--dark .card-header,
.body--dark .section-header,
.body--dark .modal-header,
.body--dark .dialog-header,
.body--dark .drawer-header,
.body--dark .controls-container,
.body--dark .page-header {
  background: var(--surface-color) !important;
  color: var(--text-color) !important;
  border-color: var(--border-color) !important;
}

/* ─── Additional card variants not in earlier block ─── */
.body--dark .styled-card,
.body--dark .hero-card,
.body--dark .chart-card,
.body--dark .stats-card,
.body--dark .status-card,
.body--dark .content-card,
.body--dark .panel-card,
.body--dark .action-card,
.body--dark .form-card,
.body--dark .table-card,
.body--dark .filter-card,
.body--dark .filters-card,
.body--dark .approval-card,
.body--dark .upload-card,
.body--dark .alert-card,
.body--dark .kanban-card,
.body--dark .editor-card,
.body--dark .modal-card,
.body--dark .bulk-actions-card,
.body--dark .settings-card,
.body--dark .steps-card,
.body--dark .notes-card,
.body--dark .limit-card,
.body--dark .main-card,
.body--dark .preview-card,
.body--dark .recipients-card,
.body--dark .po-summary-card,
.body--dark .stock-card,
.body--dark .kpi-card-modern,
.body--dark .kpi-gauge-card,
.body--dark .executive-kpi,
.body--dark .completion-status-card,
.body--dark .purchase-orders-card,
.body--dark .payment-flow-card,
.body--dark .properties-card,
.body--dark .view-dialog-card,
.body--dark .view-modal-card,
.body--dark .module-modal,
.body--dark .order-info-card,
.body--dark .cost-breakdown-card,
.body--dark .cost-total-item,
.body--dark .total-cost-summary,
.body--dark .chart-toolbar,
.body--dark .chart-controls,
.body--dark .config-panel,
.body--dark .preview-panel,
.body--dark .custom-report-builder,
.body--dark .print-options-section,
.body--dark .data-status-section,
.body--dark .labor-type-section,
.body--dark .active-shift,
.body--dark .branch-overview-stats {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--card-border) !important;
}

/* ─── Supplier / Ledger drawers ─── */
.body--dark .supplier-ledger-drawer,
.body--dark .view-details-table,
.body--dark .view-details-table table {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
}

.body--dark .value-cell {
  background: var(--surface-color) !important;
  color: var(--text-color) !important;
}

/* ─── Empty / loading states ─── */
.body--dark .empty-state,
.body--dark .empty-state-supply-chain,
.body--dark .loading-state-supply-chain {
  background: transparent !important;
  color: var(--text-secondary) !important;
}

/* ─── Header stat chips (supply chain / stock pages) ─── */
.body--dark .header-stat-chip,
.body--dark .company-info-card,
.body--dark .kpi-card-modern,
.body--dark .kpi-card--active {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--card-border) !important;
}

/* ─── Warn / status highlight rows ─── */
.body--dark .warning-stat,
.body--dark .positive-stat,
.body--dark .banner-warning {
  background: rgba(255, 171, 0, 0.1) !important;
  color: var(--text-color) !important;
  border-color: rgba(255, 171, 0, 0.25) !important;
}

/* ─── Stock / inventory table overrides ─── */
.body--dark .stock-page-bg,
.body--dark .stock-table-modern,
.body--dark .supply-chain-table,
.body--dark .supplier-ledger-drawer .ledger-table {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
}

/* ─── Sticky / module table TOP BARS (all custom table wrappers) ─── */
.body--dark .my-sticky-header-table .q-table__top,
.body--dark .my-sticky-header-table .q-table__bottom,
.body--dark .module-table .q-table__top,
.body--dark .module-table .q-table__bottom,
.body--dark .purchase-orders-table .q-table__top,
.body--dark .purchase-orders-table .q-table__bottom,
.body--dark .supply-chain-table .q-table__top,
.body--dark .supply-chain-table .q-table__bottom,
.body--dark .responsive-table .q-table__top,
.body--dark .stock-table-modern .q-table__top,
.body--dark .inv-table .q-table__top,
.body--dark .material-table-container .q-table__top {
  background: var(--surface-color) !important;
  color: var(--text-color) !important;
  border-color: var(--border-color) !important;
}

/* ─── Sticky / module table HEADERS (th) ─── */
.body--dark .my-sticky-header-table thead tr th,
.body--dark .my-sticky-header-table thead tr:first-child th,
.body--dark .module-table .q-table__thead th,
.body--dark .module-table thead th,
.body--dark .purchase-orders-table .q-table__thead th,
.body--dark .supply-chain-table thead th,
.body--dark .responsive-table thead tr:first-child th,
.body--dark .responsive-table :deep(thead tr:first-child th),
.body--dark .stock-table-modern .table-header-row,
.body--dark .inv-table thead th,
.body--dark .view-details-table thead th,
.body--dark .ledger-table thead th,
.body--dark .supplier-ledger-drawer .ledger-table .q-table__top {
  background: var(--table-header-bg) !important;
  color: var(--text-secondary) !important;
  border-color: var(--table-border) !important;
}

/* ─── Table row hover ─── */
.body--dark .module-table .q-table__tbody tr:hover,
.body--dark .purchase-orders-table .q-table__tbody tr:hover,
.body--dark .my-sticky-header-table .q-table__tbody tr:hover,
.body--dark .supply-chain-table .q-table__tbody tr:hover,
.body--dark .responsive-table tbody tr:hover,
.body--dark .stock-table-modern .low-stock-row,
.body--dark .inv-table tbody tr:hover {
  background: var(--table-row-hover) !important;
}

/* ─── Audit & compliance items ─── */
.body--dark .compliance-item,
.body--dark .financial-control-item {
  background: var(--surface-color) !important;
  color: var(--text-color) !important;
}

.body--dark .compliance-item:hover,
.body--dark .financial-control-item:hover {
  background: var(--table-row-hover) !important;
}

/* ─── Stage/progress icon wrappers (used in supply chain, operations) ─── */
.body--dark .stage-progress-icon,
.body--dark .timeline-step-icon {
  background: var(--surface-color) !important;
  border-color: var(--border-color) !important;
}

/* ─── Report builder / chart containers ─── */
.body--dark .branch-summary-item,
.body--dark .report-header,
.body--dark .material-table-container {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--card-border) !important;
}

/* ─── Weighbridge specific ─── */
.body--dark .wb-stat {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
}

/* ─── JSON mini viewers (audit pages) ─── */
.body--dark .json-mini {
  background: #1a1c1e !important;
  color: #a8d5a2 !important;
  border-color: var(--border-color) !important;
}

/* ─── CATCH-ALL: attribute substring selectors for max coverage ─── */
/* These match any element whose class attribute CONTAINS the substring,
   catching variants like "inv-stat-card", "kpi-card-modern", "items-table", etc. */
/* Cards with a word ending in -card */
.body--dark [class*=-card]:not([class*=q-card]):not([class*=q-chip]):not([class*=q-badge]) {
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--card-border) !important;
}

/* Any custom table wrapper (contains "-table") — target their th and hover rows */
.body--dark [class*=-table] th,
.body--dark [class*=-table] .q-table__thead th {
  background: var(--table-header-bg) !important;
  color: var(--text-secondary) !important;
  border-color: var(--table-border) !important;
}

.body--dark [class*=-table] tbody tr:hover,
.body--dark [class*=-table] .q-table__tbody tr:hover {
  background: var(--table-row-hover) !important;
}

.body--dark [class*=-table] .q-table__top,
.body--dark [class*=-table] .q-table__bottom {
  background: var(--surface-color) !important;
  color: var(--text-color) !important;
  border-color: var(--border-color) !important;
}

/* ─── Dark mode: lighten hardcoded grey text utility classes ─── */
/* Quasar utility text classes use !important — we match with our own !important */
.body--dark .text-grey-10 {
  color: #e0e0e0 !important;
}

.body--dark .text-grey-9 {
  color: #d4d4d4 !important;
}

.body--dark .text-grey-8 {
  color: #c0c0c0 !important;
}

.body--dark .text-grey-7 {
  color: #a8a8a8 !important;
}

.body--dark .text-grey-6 {
  color: #909090 !important;
}

/* ─── Print styles unchanged ─── */
/* ─── Import Inventory Management Styles ─── */
:root {
  --inventory-accent: var(--primary-green);
  --inventory-accent-light: #4CAF50;
  --inventory-accent-lighter: #E8F5E8;
  --inventory-text-primary: var(--text-color);
  --inventory-text-secondary: #757575;
  --inventory-border: #BDBDBD;
  --inventory-border-light: var(--neutral-gray);
}

.inv-stat-card {
  border-left: 4px solid var(--inventory-accent) !important;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
  border-radius: 12px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border: 1px solid var(--inventory-border-light) !important;
  box-shadow: 0 2px 8px rgba(13, 115, 119, 0.08) !important;
  min-height: 100px;
}
.inv-stat-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(13, 115, 119, 0.15) !important;
  background: linear-gradient(135deg, #ffffff 0%, #f1f8f9 100%) !important;
}
.inv-stat-card .q-card__section {
  padding: 20px !important;
}
.inv-stat-card .text-h6 {
  color: var(--inventory-text-primary) !important;
  font-weight: 600 !important;
  margin-bottom: 4px !important;
  letter-spacing: 0.025em !important;
}
.inv-stat-card .text-subtitle2 {
  color: var(--inventory-text-secondary) !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.01em !important;
}
.inv-stat-card .q-icon {
  opacity: 0.8 !important;
}

.inv-page-header {
  margin-bottom: 24px !important;
}
.inv-page-header .text-h4 {
  color: var(--inventory-text-primary) !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
  letter-spacing: -0.025em !important;
  line-height: 1.3 !important;
}
.inv-page-header .text-subtitle1 {
  color: var(--inventory-text-secondary) !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
  letter-spacing: 0.01em !important;
}
.inv-page-header .q-icon {
  color: var(--inventory-accent) !important;
  margin-right: 12px !important;
}

.inv-filter-card {
  border-radius: 12px !important;
  border: 1px solid var(--inventory-border-light) !important;
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}
.inv-filter-card .q-card__section {
  padding: 20px !important;
}
.inv-filter-card .q-input .q-field__control {
  border-radius: 8px !important;
}
.inv-filter-card .q-btn {
  border-radius: 8px !important;
  font-weight: 500 !important;
  letter-spacing: 0.025em !important;
}

.inv-section-label {
  color: var(--inventory-text-secondary) !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 16px !important;
}

.inv-table .q-table {
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}
.inv-table .q-table thead th {
  background: linear-gradient(135deg, var(--inventory-accent-lighter) 0%, #ffffff 100%) !important;
  color: var(--inventory-text-primary) !important;
  font-weight: 600 !important;
  letter-spacing: 0.025em !important;
  border-bottom: 2px solid var(--inventory-accent) !important;
}
.inv-table .q-table tbody td {
  border-bottom: 1px solid var(--inventory-border-light) !important;
  padding: 12px 16px !important;
}
.inv-table .q-table tbody tr:hover {
  background: var(--inventory-accent-lighter) !important;
}

.inv-nav-bar .q-tabs {
  background: linear-gradient(135deg, #ffffff 0%, var(--inventory-accent-lighter) 100%) !important;
  border-radius: 12px 12px 0 0 !important;
}
.inv-nav-bar .q-tabs .q-tab {
  font-weight: 500 !important;
  letter-spacing: 0.025em !important;
  border-radius: 8px 8px 0 0 !important;
  margin-right: 4px !important;
}
.inv-nav-bar .q-tabs .q-tab__indicator {
  background: var(--inventory-accent) !important;
}
.inv-nav-bar .q-tabs .q-tab--active {
  background: #ffffff !important;
  color: var(--inventory-accent) !important;
  font-weight: 600 !important;
}
.inv-nav-bar .q-btn {
  border-radius: 8px !important;
  font-weight: 500 !important;
}

.inv-quick-actions .q-btn {
  border-radius: 8px !important;
  font-weight: 500 !important;
  letter-spacing: 0.025em !important;
  transition: all 0.3s ease !important;
}
.inv-quick-actions .q-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(13, 115, 119, 0.2) !important;
}

.inv-page-container {
  background: #fafbfc !important;
  min-height: 100vh !important;
}

.inv-breadcrumbs .q-breadcrumbs__el {
  color: var(--inventory-text-secondary) !important;
  font-weight: 500 !important;
}
.inv-breadcrumbs .q-breadcrumbs__el--active {
  color: var(--inventory-accent) !important;
  font-weight: 600 !important;
}

.inv-expansion-header {
  border-left: 4px solid var(--inventory-accent) !important;
  background-color: rgba(46, 125, 50, 0.05) !important;
}
.inv-expansion-header .q-item__label {
  color: var(--inventory-accent) !important;
}
.inv-expansion-header .q-icon {
  color: var(--inventory-accent) !important;
}

.inv-submenu-item {
  transition: all 0.3s ease;
  border-left: 4px solid transparent;
}
.inv-submenu-item:hover {
  background-color: rgba(46, 125, 50, 0.04) !important;
  color: var(--inventory-accent);
}
.inv-submenu-item--active {
  background-color: rgba(46, 125, 50, 0.08) !important;
  color: var(--inventory-accent) !important;
  border-left: 4px solid var(--inventory-accent);
  font-weight: 500;
}
.inv-submenu-item--active .q-icon {
  color: var(--inventory-accent) !important;
}

@media (max-width: 600px) {
  .inv-stat-card {
    margin-bottom: 16px !important;
  }
  .inv-stat-card .q-card__section {
    padding: 16px !important;
  }
  .inv-page-header {
    text-align: center !important;
  }
  .inv-page-header .col-auto {
    margin-top: 16px !important;
  }
}
.body--dark .inv-stat-card {
  background: #232527 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}
.body--dark .inv-stat-card:hover {
  background: #2a2c2e !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
}
.body--dark .inv-filter-card {
  background: #232527 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
}
.body--dark .inv-table .q-table thead th {
  background: #1e2022 !important;
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.body--dark .inv-table .q-table tbody td {
  border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}
.body--dark .inv-table .q-table tbody tr:hover {
  background: rgba(76, 175, 80, 0.08) !important;
}
.body--dark .inv-nav-bar .q-tabs {
  background: #232527 !important;
}
.body--dark .inv-nav-bar .q-tabs .q-tab--active {
  background: #2a2c2e !important;
  color: #4CAF50 !important;
}
.body--dark .inv-page-container {
  background: #181a1b !important;
}
.body--dark .inv-expansion-header {
  background-color: rgba(46, 125, 50, 0.1) !important;
}
.body--dark .inv-submenu-item:hover {
  background-color: rgba(46, 125, 50, 0.08) !important;
}
.body--dark .inv-submenu-item--active {
  background-color: rgba(46, 125, 50, 0.15) !important;
}:root {
  --calendar-border: #e0e0e0 1px solid;
  --calendar-border-dark: #71755d 1px solid;
  --calendar-border-section: #e0e0e0 1px dashed;
  --calendar-border-section-dark: #71755d 1px dashed;
  --calendar-border-current: #027BE3 2px solid;
  --calendar-border-current-dark: #ffff66 2px solid;
  --calendar-mini-range-connector-hover-border: #027BE3 1px dashed;
  --calendar-mini-range-connector-hover-border-dark: #ffff66 1px dashed;
  --calendar-color: #606c71;
  --calendar-color-dark: #fafafa;
  --calendar-background: #ffffff;
  --calendar-background-dark: #121212;
  --calendar-current-color: #027BE3;
  --calendar-current-color-dark: #ffff66;
  --calendar-current-background: #00000000;
  --calendar-current-background-dark: #121212;
  --calendar-disabled-date-color: #a1a1a1;
  --calendar-disabled-date-color-dark: #bebebe;
  --calendar-disabled-date-background: #ffffff;
  --calendar-disabled-date-background-dark: #121212;
  --calendar-active-date-color: #027BE3FF;
  --calendar-active-date-color-dark: #cce7ffff;
  --calendar-active-date-background: #cce7ffff;
  --calendar-active-date-background-dark: #027BE3FF;
  --calendar-outside-color: #606c71;
  --calendar-outside-color-dark: #bebebe;
  --calendar-outside-background: #00000000;
  --calendar-outside-background-dark: #121212;
  --calendar-selected-color: #027BE3;
  --calendar-selected-color-dark: #027BE3;
  --calendar-selected-background: #cce7ff;
  --calendar-selected-background-dark: #cce7ff;
  --calendar-mini-selected-color: #027BE3;
  --calendar-mini-selected-color-dark: #027BE3;
  --calendar-mini-selected-background: #00000000;
  --calendar-mini-selected-background-dark: #00000000;
  --calendar-mini-selected-label-color: #027BE3;
  --calendar-mini-selected-label-color-dark: #cce7ff;
  --calendar-mini-selected-label-background: #cce7ff;
  --calendar-mini-selected-label-background-dark: #027BE3;
  --calendar-range-color: #027BE3;
  --calendar-range-color-dark: #027BE3;
  --calendar-range-background: #cce7ff;
  --calendar-range-background-dark: #cce7ff;
  --calendar-mini-range-color: #cce7ff;
  --calendar-mini-range-color-dark: #027BE3;
  --calendar-mini-range-background: #00000000;
  --calendar-mini-range-background-dark: #00000000;
  --calendar-mini-range-label-color: #cce7ff;
  --calendar-mini-range-label-color-dark: #027BE3;
  --calendar-mini-range-label-background: #cce7ff;
  --calendar-mini-range-label-background-dark: #cce7ff;
  --calendar-mini-range-connector-color: #cce7ff;
  --calendar-mini-range-connector-color-dark: #ffff66;
  --calendar-mini-range-hover-color: #027BE3;
  --calendar-mini-range-hover-color-dark: #ffff66;
  --calendar-mini-range-firstlast-color: #cce7ff;
  --calendar-mini-range-firstlast-color-dark: #cce7ff;
  --calendar-mini-range-firstlast-background: #00000000;
  --calendar-mini-range-firstlast-background-dark: #cce7ff;
  --calendar-mini-range-firstlast-label-color: #cce7ff;
  --calendar-mini-range-firstlast-label-color-dark: #cce7ff;
  --calendar-mini-range-firstlast-label-background: #027BE3;
  --calendar-mini-range-firstlast-label-background-dark: #ffff66;
  --calendar-scrollbar-width-height: 10px;
  --calendar-scrollbar-track: #eeeeee;
  --calendar-scrollbar-thumb: #888888;
  --calendar-scrollbar-thumb-hover: #555555;
  --calendar-scrollbar-track-dark: #eeeeee;
  --calendar-scrollbar-thumb-dark: #888888;
  --calendar-scrollbar-thumb-hover-dark: #555555;
  --calendar-intervals-width: 56px;
  --calendar-resources-width: 100px;
  --calendar-work-week-width: 30px;
  --calendar-mini-work-week-width: 30px;
  --calendar-work-week-font-size: 1.0em;
  --calendar-head-font-weight: 600;
}

.q-calendar--roll-right-leave-active, .q-calendar--roll-left-leave-active, .q-calendar--roll-up-leave-active, .q-calendar--roll-down-leave-active, .q-calendar--slide-right-leave-active, .q-calendar--slide-left-leave-active, .q-calendar--slide-up-leave-active, .q-calendar--slide-down-leave-active, .q-calendar--jump-right-leave-active, .q-calendar--jump-left-leave-active, .q-calendar--jump-up-leave-active, .q-calendar--jump-down-leave-active, .q-calendar--fade-leave-active, .q-calendar--scale-leave-active, .q-calendar--rotate-leave-active, .q-calendar--spin-leave-active, .q-calendar--flip-leave-active {
  position: absolute;
}
.q-calendar--roll-right-enter-active, .q-calendar--roll-right-leave-active, .q-calendar--roll-left-enter-active, .q-calendar--roll-left-leave-active, .q-calendar--roll-up-enter-active, .q-calendar--roll-up-leave-active, .q-calendar--roll-down-enter-active, .q-calendar--roll-down-leave-active, .q-calendar--slide-right-enter-active, .q-calendar--slide-right-leave-active, .q-calendar--slide-left-enter-active, .q-calendar--slide-left-leave-active, .q-calendar--slide-up-enter-active, .q-calendar--slide-up-leave-active, .q-calendar--slide-down-enter-active, .q-calendar--slide-down-leave-active {
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.q-calendar--roll-right-enter-from {
  transform: translate3d(-100%, 0, 0) rotate(360deg);
}
.q-calendar--roll-right-leave-to {
  transform: translate3d(100%, 0, 0) rotate(0deg);
}
.q-calendar--roll-left-enter-from {
  transform: translate3d(100%, 0, 0) rotate(-360deg);
}
.q-calendar--roll-left-leave-to {
  transform: translate3d(-100%, 0, 0) rotate(0deg);
}
.q-calendar--roll-up-enter-from {
  transform: translate3d(0, 100%, 0) rotate(-360deg);
}
.q-calendar--roll-up-leave-to {
  transform: translate3d(0, -100%, 0) rotate(0deg);
}
.q-calendar--roll-down-enter-from {
  transform: translate3d(0, -100%, 0) rotate(360deg);
}
.q-calendar--roll-down-leave-to {
  transform: translate3d(0, 100%, 0) rotate(0deg);
}
.q-calendar--slide-right-enter-from {
  transform: translate3d(-100%, 0, 0);
}
.q-calendar--slide-right-leave-to {
  transform: translate3d(100%, 0, 0);
}
.q-calendar--slide-left-enter-from {
  transform: translate3d(100%, 0, 0);
}
.q-calendar--slide-left-leave-to {
  transform: translate3d(-100%, 0, 0);
}
.q-calendar--slide-up-enter-from {
  transform: translate3d(0, 100%, 0);
}
.q-calendar--slide-up-leave-to {
  transform: translate3d(0, -100%, 0);
}
.q-calendar--slide-down-enter-from {
  transform: translate3d(0, -100%, 0);
}
.q-calendar--slide-down-leave-to {
  transform: translate3d(0, 100%, 0);
}
.q-calendar--jump-right-enter-active, .q-calendar--jump-right-leave-active, .q-calendar--jump-left-enter-active, .q-calendar--jump-left-leave-active, .q-calendar--jump-up-enter-active, .q-calendar--jump-up-leave-active, .q-calendar--jump-down-enter-active, .q-calendar--jump-down-leave-active {
  transition: opacity 0.3s, transform 0.3s;
}
.q-calendar--jump-right-enter-from, .q-calendar--jump-right-leave-to, .q-calendar--jump-left-enter-from, .q-calendar--jump-left-leave-to, .q-calendar--jump-up-enter-from, .q-calendar--jump-up-leave-to, .q-calendar--jump-down-enter-from, .q-calendar--jump-down-leave-to {
  opacity: 0;
}
.q-calendar--jump-right-enter-from {
  transform: translate3d(-15px, 0, 0);
}
.q-calendar--jump-right-leave-to {
  transform: translate3d(15px, 0, 0);
}
.q-calendar--jump-left-enter-from {
  transform: translate3d(15px, 0, 0);
}
.q-calendar--jump-left-leave-to {
  transform: translateX(-15px);
}
.q-calendar--jump-up-enter-from {
  transform: translate3d(0, 15px, 0);
}
.q-calendar--jump-up-leave-to {
  transform: translate3d(0, -15px, 0);
}
.q-calendar--jump-down-enter-from {
  transform: translate3d(0, -15px, 0);
}
.q-calendar--jump-down-leave-to {
  transform: translate3d(0, 15px, 0);
}
.q-calendar--fade-enter-active, .q-calendar--fade-leave-active {
  transition: opacity 0.3s ease-out;
}
.q-calendar--fade-enter-from, .q-calendar--fade-leave-to {
  opacity: 0;
}
.q-calendar--scale-enter-active, .q-calendar--scale-leave-active {
  transition: opacity 0.3s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.q-calendar--scale-enter-from, .q-calendar--scale-leave-to {
  opacity: 0;
  transform: scale3d(0, 0, 1);
}
.q-calendar--rotate-enter-active, .q-calendar--rotate-leave-active {
  transition: opacity 0.3s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform-style: preserve-3d;
}
.q-calendar--rotate-enter-from, .q-calendar--rotate-leave-to {
  opacity: 0;
  transform: scale3d(0, 0, 1) rotate3d(0, 0, 1, 90deg);
}
.q-calendar--spin-enter-active, .q-calendar--spin-leave-active {
  transition: opacity 0.3s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform-style: preserve-3d;
}
.q-calendar--spin-enter-from, .q-calendar--spin-leave-from, .q-calendar--spin-leave-to {
  opacity: 0;
  transform: scale3d(0, 0, 1) rotate3d(0, 0, 1, 720deg);
}
.q-calendar--flip-right-enter-active, .q-calendar--flip-right-leave-active, .q-calendar--flip-left-enter-active, .q-calendar--flip-left-leave-active, .q-calendar--flip-up-enter-active, .q-calendar--flip-up-leave-active, .q-calendar--flip-down-enter-active, .q-calendar--flip-down-leave-active {
  transition: transform 0.3s;
  backface-visibility: hidden;
}
.q-calendar--flip-right-enter-to, .q-calendar--flip-right-leave-from, .q-calendar--flip-left-enter-to, .q-calendar--flip-left-leave-from, .q-calendar--flip-up-enter-to, .q-calendar--flip-up-leave-from, .q-calendar--flip-down-enter-to, .q-calendar--flip-down-leave-from {
  transform: perspective(400px) rotate3d(1, 1, 0, 0deg);
}
.q-calendar--flip-right-enter-from {
  transform: perspective(400px) rotate3d(0, 1, 0, -180deg);
}
.q-calendar--flip-right-leave-to {
  transform: perspective(400px) rotate3d(0, 1, 0, 180deg);
}
.q-calendar--flip-left-enter-from {
  transform: perspective(400px) rotate3d(0, 1, 0, 180deg);
}
.q-calendar--flip-left-leave-to {
  transform: perspective(400px) rotate3d(0, 1, 0, -180deg);
}
.q-calendar--flip-up-enter-from {
  transform: perspective(400px) rotate3d(1, 0, 0, -180deg);
}
.q-calendar--flip-up-leave-to {
  transform: perspective(400px) rotate3d(1, 0, 0, 180deg);
}
.q-calendar--flip-down-enter-from {
  transform: perspective(400px) rotate3d(1, 0, 0, 180deg);
}
.q-calendar--flip-down-leave-to {
  transform: perspective(400px) rotate3d(1, 0, 0, -180deg);
}

.q-calendar {
  position: relative;
  display: flex;
  flex-direction: column;
  color: var(--calendar-color);
  background: var(--calendar-background);
  width: 100%;
  min-width: auto;
  overflow: hidden;
}
.q-calendar__bordered {
  border: var(--calendar-border);
}
.q-calendar__button {
  display: inline-block;
  flex-direction: row;
  align-items: center;
  position: relative;
  outline: 0;
  border: 0;
  vertical-align: middle;
  padding: 0;
  font-size: 0.75em;
  line-height: 1.715em;
  text-decoration: none;
  color: inherit;
  background: transparent;
  text-transform: uppercase;
  text-align: center;
  width: auto;
  height: auto;
  min-height: 2em;
  min-width: 2em;
  will-change: background;
  transition: background 0.3s;
}
.q-calendar__button--rounded {
  border-radius: 6px;
}
.q-calendar__button--round {
  border-radius: 50%;
}
.q-calendar__button--bordered {
  border: var(--calendar-border);
}
.q-calendar__left {
  text-align: left !important;
  justify-content: flex-start;
}
.q-calendar__center {
  text-align: center !important;
  justify-content: center;
}
.q-calendar__right {
  text-align: right !important;
  justify-content: flex-end;
}
.q-calendar__justify {
  justify-content: space-between !important;
}
.q-calendar__header--inline {
  display: flex;
  flex: 1 0 0;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
.q-calendar__ellipsis {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.q-calendar__overflow-wrap {
  overflow-wrap: break-word;
  overflow: hidden;
}
.q-calendar__parent {
  transition: transform 0.3s;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 2px;
  width: 2px;
  height: 2px;
  cursor: pointer;
}
.q-calendar__parent--expanded {
  margin: 0 2px;
  transform: rotate(-135deg);
}
.q-calendar__parent--collapsed {
  margin: 0 2px;
  transform: rotate(45deg);
}
.q-calendar__child {
  position: relative;
  transition: max-height 0.28s linear;
}
.q-calendar__child--expanded {
  max-height: 800px;
  height: auto;
}
.q-calendar__child--collapsed {
  max-height: 0;
  overflow-y: hidden;
}
.q-calendar__focusable, .q-calendar__manual-focusable, .q-calendar__hoverable {
  outline: 0;
}
.q-calendar__focus-helper {
  position: absolute;
  top: 0;
  left: 0; /* rtl:ignore */
  width: 100%;
  height: 100%;
  pointer-events: none;
  border-radius: inherit;
  opacity: 0;
  transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), opacity 0.4s cubic-bezier(0.25, 0.8, 0.5, 1);
}
.q-calendar__focus-helper:before, .q-calendar__focus-helper:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0; /* rtl:ignore */
  width: 100%;
  height: 100%;
  opacity: 0;
  border-radius: inherit;
  transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.5, 1), opacity 0.6s cubic-bezier(0.25, 0.8, 0.5, 1);
}
.q-calendar__focus-helper:before {
  background: #000;
}
.q-calendar__focus-helper:after {
  background: #fff;
}
.q-calendar__focus-helper--rounded {
  border-radius: 6px;
}
.q-calendar__focus-helper--round {
  border-radius: 50%;
}
.q-calendar__focusable:focus > .q-calendar__focus-helper, .q-calendar__manual-focusable--focused > .q-calendar__focus-helper, .q-calendar__hoverable:hover > .q-calendar__focus-helper {
  background: currentColor;
  opacity: 0.15;
}
.q-calendar__focusable:focus > .q-calendar__focus-helper:before, .q-calendar__manual-focusable--focused > .q-calendar__focus-helper:before, .q-calendar__hoverable:hover > .q-calendar__focus-helper:before {
  opacity: 0.1;
}
.q-calendar__focusable:focus > .q-calendar__focus-helper:after, .q-calendar__manual-focusable--focused > .q-calendar__focus-helper:after, .q-calendar__hoverable:hover > .q-calendar__focus-helper:after {
  opacity: 0.4;
}
.q-calendar__focusable:focus > .q-calendar__focus-helper, .q-calendar__manual-focusable--focused > .q-calendar__focus-helper {
  opacity: 0.22;
}
.q-calendar .disabled,
.q-calendar .disabled *,
.q-calendar [disabled],
.q-calendar [disabled] * {
  outline: 0 !important;
  cursor: not-allowed !important;
}
.q-calendar .disabled,
.q-calendar [disabled] {
  opacity: 0.6 !important;
}

.q-calendar {
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar .q-calendar__scroll::-webkit-scrollbar {
  width: var(--calendar-scrollbar-width-height);
  height: var(--calendar-scrollbar-width-height);
}
.q-calendar .q-calendar__scroll::-webkit-scrollbar-track {
  background: var(--calendar-scrollbar-track);
  box-shadow: inset 0 0 4px var(--calendar-scrollbar-track);
}
.q-calendar .q-calendar__scroll::-webkit-scrollbar-corner {
  background: var(--calendar-scrollbar-track);
}
.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb {
  background: var(--calendar-scrollbar-thumb);
  border-radius: 5px;
}
.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb:hover {
  background: var(--calendar-scrollbar-thumb-hover);
}

.q-dark div.q-calendar,
.body--dark div.q-calendar,
.q-calendar--dark.q-calendar {
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div.q-calendar__bordered,
.body--dark div.q-calendar__bordered,
.q-calendar--dark.q-calendar__bordered {
  border: var(--calendar-border-dark);
}
.q-dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar,
.body--dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar,
.q-calendar--dark.q-calendar .q-calendar__scroll::-webkit-scrollbar {
  width: var(--calendar-scrollbar-width-height);
  height: var(--calendar-scrollbar-width-height);
}
.q-dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-track,
.body--dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-track,
.q-calendar--dark.q-calendar .q-calendar__scroll::-webkit-scrollbar-track {
  background: var(--calendar-scrollbar-track-dark);
  box-shadow: inset 0 0 4px var(--calendar-scrollbar-track-dark);
}
.q-dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-corner,
.body--dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-corner,
.q-calendar--dark.q-calendar .q-calendar__scroll::-webkit-scrollbar-corner {
  background: var(--calendar-scrollbar-track-dark);
}
.q-dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb,
.body--dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb,
.q-calendar--dark.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb {
  background: var(--calendar-scrollbar-thumb-dark);
  border-radius: 5px;
}
.q-dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb:hover,
.body--dark div.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb:hover,
.q-calendar--dark.q-calendar .q-calendar__scroll::-webkit-scrollbar-thumb:hover {
  background: var(--calendar-scrollbar-thumb-hover-dark);
}

.q-calendar-agenda {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  width: 100%;
}
.q-calendar-agenda__head {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: row;
}
.q-calendar-agenda__head--intervals {
  flex: none;
  display: flex;
  vertical-align: bottom;
}
.q-calendar-agenda__head--days__column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-agenda__head--days__weekdays {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-agenda__head--days__event {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
}
.q-calendar-agenda__head--days__events {
  position: absolute;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  bottom: 0;
  left: 0;
  right: 0;
}
.q-calendar-agenda__head--day {
  position: relative;
  flex: 1 1 100%;
  flex-wrap: nowrap;
  overflow: hidden;
  width: 0;
  outline: 0;
}
.q-calendar-agenda__head--day__event {
  position: relative;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  overflow: hidden;
}
.q-calendar-agenda__head--weekday, .q-calendar-agenda__head--date, .q-calendar-agenda__column-header--before, .q-calendar-agenda__column-header--after {
  display: flex;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-agenda__head--weekday, .q-calendar-agenda__head--date {
  margin: 2px;
  flex: 1 0 0;
}
.q-calendar-agenda__head--day__label {
  -webkit-user-select: none;
          user-select: none;
  cursor: pointer;
}
.q-calendar-agenda__body {
  flex: 1 1 60%;
  overflow: hidden;
  display: flex;
  position: relative;
}
.q-calendar-agenda__scroll-area {
  overflow: auto;
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
}
.q-calendar-agenda__pane {
  width: 100%;
  overflow: hidden;
  flex: none;
  display: flex;
  align-items: flex-start;
}
.q-calendar-agenda__day-container {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  height: 100%;
}
.q-calendar-agenda__intervals-column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-agenda__interval {
  text-align: left;
  outline: 0;
}
.q-calendar-agenda__interval--section {
  position: relative;
  text-align: left;
  outline: 0;
}
.q-calendar-agenda__interval--text {
  display: block;
  position: relative;
  top: -6px;
  font-size: 10px;
  width: 100%;
  text-align: center;
}
.q-calendar-agenda__day {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 0;
}
.q-calendar-agenda__day-interval {
  position: relative;
  outline: 0;
}
.q-calendar-agenda__day-interval--section {
  position: relative;
  outline: 0;
}

.q-calendar-agenda__intervals-column.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 1;
}

.q-calendar-agenda__head.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-agenda__head--intervals.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 3;
}

.q-calendar-agenda__head {
  border-bottom: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-agenda__interval {
  border-bottom: var(--calendar-background) 1px solid;
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-agenda__head--intervals {
  border-right: var(--calendar-border);
  min-width: var(--calendar-intervals-width);
  max-width: var(--calendar-intervals-width);
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-agenda__head--day {
  font-weight: var(--calendar-head-font-weight);
  border-right: var(--calendar-border);
}
.q-calendar-agenda__head--day:last-child {
  border-right: none;
}
.q-calendar-agenda__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color);
  background: var(--calendar-active-date-background);
}
.q-calendar-agenda__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current);
}
.q-calendar-agenda__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-agenda__head--day__event {
  border-right: var(--calendar-border);
}
.q-calendar-agenda__head--day__event:last-child {
  border-right: none;
}
.q-calendar-agenda__column-header--before {
  border-bottom: var(--calendar-border);
}
.q-calendar-agenda__column-header--after {
  border-top: var(--calendar-border);
}
.q-calendar-agenda__intervals-column {
  border-right: var(--calendar-border);
  min-width: var(--calendar-intervals-width);
  max-width: var(--calendar-intervals-width);
}
.q-calendar-agenda__day {
  border-right: var(--calendar-border);
}
.q-calendar-agenda__day:last-child {
  border-right: none !important;
}
.q-calendar-agenda__day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-agenda__day-interval {
  width: 100%;
  border-top: var(--calendar-border);
}
.q-calendar-agenda__day-interval.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-agenda__day-interval.q-range-first, .q-calendar-agenda__day-interval.q-range-last, .q-calendar-agenda__day-interval.q-range {
  color: var(--calendar-range-color);
  background: var(--calendar-range-background);
}
.q-calendar-agenda__day-interval--section {
  border-top: var(--calendar-border-section);
}
.q-calendar-agenda__day-interval--section.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-agenda__day-interval--section.q-range-first, .q-calendar-agenda__day-interval--section.q-range-last, .q-calendar-agenda__day-interval--section.q-range {
  color: var(--calendar-range-color);
  background: var(--calendar-range-background);
}
.q-calendar-agenda__day-interval:first-child {
  border-top: none !important;
}
.q-calendar-agenda__day-interval:last-child {
  border-bottom: none !important;
}

.q-dark div .q-calendar-agenda__head,
.body--dark div .q-calendar-agenda__head,
.q-calendar--dark .q-calendar-agenda__head {
  border-bottom: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-agenda__interval,
.body--dark div .q-calendar-agenda__interval,
.q-calendar--dark .q-calendar-agenda__interval {
  border-bottom: var(--calendar-background-dark) 1px solid;
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-agenda__head--intervals,
.body--dark div .q-calendar-agenda__head--intervals,
.q-calendar--dark .q-calendar-agenda__head--intervals {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-agenda__head--day,
.body--dark div .q-calendar-agenda__head--day,
.q-calendar--dark .q-calendar-agenda__head--day {
  border-right: var(--calendar-border-dark);
  font-weight: var(--calendar-head-font-weight);
}
.q-dark div .q-calendar-agenda__head--day:last-child,
.body--dark div .q-calendar-agenda__head--day:last-child,
.q-calendar--dark .q-calendar-agenda__head--day:last-child {
  border-right: none;
}
.q-dark div .q-calendar-agenda__head--day.q-active-date .q-calendar__button,
.body--dark div .q-calendar-agenda__head--day.q-active-date .q-calendar__button,
.q-calendar--dark .q-calendar-agenda__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color-dark);
  background: var(--calendar-active-date-background-dark);
}
.q-dark div .q-calendar-agenda__head--day.q-current-day .q-calendar__button,
.body--dark div .q-calendar-agenda__head--day.q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-agenda__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark);
}
.q-dark div .q-calendar-agenda__head--day__event,
.body--dark div .q-calendar-agenda__head--day__event,
.q-calendar--dark .q-calendar-agenda__head--day__event {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-agenda__head--day.q-disabled-day,
.body--dark div .q-calendar-agenda__head--day.q-disabled-day,
.q-calendar--dark .q-calendar-agenda__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-agenda__column-header--before,
.body--dark div .q-calendar-agenda__column-header--before,
.q-calendar--dark .q-calendar-agenda__column-header--before {
  border-bottom: var(--calendar-border-dark);
}
.q-dark div .q-calendar-agenda__column-header--after,
.body--dark div .q-calendar-agenda__column-header--after,
.q-calendar--dark .q-calendar-agenda__column-header--after {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-agenda__intervals-column,
.body--dark div .q-calendar-agenda__intervals-column,
.q-calendar--dark .q-calendar-agenda__intervals-column {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-agenda__day,
.body--dark div .q-calendar-agenda__day,
.q-calendar--dark .q-calendar-agenda__day {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-agenda__day:last-child,
.body--dark div .q-calendar-agenda__day:last-child,
.q-calendar--dark .q-calendar-agenda__day:last-child {
  border-right: none !important;
}
.q-dark div .q-calendar-agenda__day.q-disabled-day,
.body--dark div .q-calendar-agenda__day.q-disabled-day,
.q-calendar--dark .q-calendar-agenda__day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-dark div .q-calendar-agenda__day-interval,
.body--dark div .q-calendar-agenda__day-interval,
.q-calendar--dark .q-calendar-agenda__day-interval {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-agenda__day-interval.q-selected,
.body--dark div .q-calendar-agenda__day-interval.q-selected,
.q-calendar--dark .q-calendar-agenda__day-interval.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-agenda__day-interval.q-range-first, .q-dark div .q-calendar-agenda__day-interval.q-range-last, .q-dark div .q-calendar-agenda__day-interval.q-range,
.body--dark div .q-calendar-agenda__day-interval.q-range-first,
.body--dark div .q-calendar-agenda__day-interval.q-range-last,
.body--dark div .q-calendar-agenda__day-interval.q-range,
.q-calendar--dark .q-calendar-agenda__day-interval.q-range-first,
.q-calendar--dark .q-calendar-agenda__day-interval.q-range-last,
.q-calendar--dark .q-calendar-agenda__day-interval.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}
.q-dark div .q-calendar-agenda__day-interval:first-child,
.body--dark div .q-calendar-agenda__day-interval:first-child,
.q-calendar--dark .q-calendar-agenda__day-interval:first-child {
  border-top: none !important;
}
.q-dark div .q-calendar-agenda__day-interval:last-child,
.body--dark div .q-calendar-agenda__day-interval:last-child,
.q-calendar--dark .q-calendar-agenda__day-interval:last-child {
  border-bottom: none !important;
}
.q-dark div .q-calendar-agenda__day-interval--section,
.body--dark div .q-calendar-agenda__day-interval--section,
.q-calendar--dark .q-calendar-agenda__day-interval--section {
  border-top: var(--calendar-border-section-dark);
}
.q-dark div .q-calendar-agenda__day-interval--section.q-selected,
.body--dark div .q-calendar-agenda__day-interval--section.q-selected,
.q-calendar--dark .q-calendar-agenda__day-interval--section.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-agenda__day-interval--section.q-range-first, .q-dark div .q-calendar-agenda__day-interval--section.q-range-last, .q-dark div .q-calendar-agenda__day-interval--section.q-range,
.body--dark div .q-calendar-agenda__day-interval--section.q-range-first,
.body--dark div .q-calendar-agenda__day-interval--section.q-range-last,
.body--dark div .q-calendar-agenda__day-interval--section.q-range,
.q-calendar--dark .q-calendar-agenda__day-interval--section.q-range-first,
.q-calendar--dark .q-calendar-agenda__day-interval--section.q-range-last,
.q-calendar--dark .q-calendar-agenda__day-interval--section.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}

.q-calendar-day {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  width: 100%;
}
.q-calendar-day__head {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: row;
}
.q-calendar-day__head--intervals {
  flex: none;
  display: flex;
  vertical-align: bottom;
}
.q-calendar-day__head--days__column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-day__head--days__weekdays {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-day__head--days__event {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
}
.q-calendar-day__head--days__events {
  position: absolute;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  bottom: 0;
  left: 0;
  right: 0;
}
.q-calendar-day__head--day {
  position: relative;
  flex: 1 1 100%;
  flex-wrap: nowrap;
  overflow: hidden;
  width: 0;
  outline: 0;
}
.q-calendar-day__head--day__event {
  position: relative;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  overflow: hidden;
}
.q-calendar-day__head--weekday, .q-calendar-day__head--date, .q-calendar-day__column-header--before, .q-calendar-day__column-header--after {
  display: flex;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-day__head--weekday, .q-calendar-day__head--date {
  margin: 2px;
  flex: 1 0 0;
}
.q-calendar-day__head--day__label {
  -webkit-user-select: none;
          user-select: none;
  cursor: pointer;
}
.q-calendar-day__body {
  flex: 1 1 60%;
  overflow: hidden;
  display: flex;
  position: relative;
}
.q-calendar-day__scroll-area {
  overflow: auto;
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
}
.q-calendar-day__pane {
  width: 100%;
  overflow: hidden;
  flex: none;
  display: flex;
  align-items: flex-start;
}
.q-calendar-day__day-container {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.q-calendar-day__intervals-column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-day__interval {
  text-align: left;
  outline: 0;
}
.q-calendar-day__interval--section {
  position: relative;
  text-align: left;
  outline: 0;
}
.q-calendar-day__interval--text {
  display: block;
  position: relative;
  top: -6px;
  font-size: 10px;
  width: 100%;
  text-align: center;
}
.q-calendar-day__day {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 0;
}
.q-calendar-day__day-interval {
  position: relative;
  outline: 0;
}
.q-calendar-day__day-interval--section {
  position: relative;
  outline: 0;
}

.q-calendar-day__intervals-column.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 1;
}

.q-calendar-day__head.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-day__head--intervals.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 3;
}

.q-calendar-day__head {
  border-bottom: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-day__interval, .q-calendar-day__interval--section {
  border-bottom: var(--calendar-background) 1px solid;
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-day__head--intervals {
  border-right: var(--calendar-border);
  min-width: var(--calendar-intervals-width);
  max-width: var(--calendar-intervals-width);
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-day__head--day {
  font-weight: var(--calendar-head-font-weight);
  border-right: var(--calendar-border);
}
.q-calendar-day__head--day:last-child {
  border-right: none;
}
.q-calendar-day__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color);
  background: var(--calendar-active-date-background);
}
.q-calendar-day__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current);
}
.q-calendar-day__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-day__head--day__event {
  border-right: var(--calendar-border);
}
.q-calendar-day__head--day__event:last-child {
  border-right: none;
}
.q-calendar-day__column-header--before {
  border-bottom: var(--calendar-border);
}
.q-calendar-day__column-header--after {
  border-top: var(--calendar-border);
}
.q-calendar-day__intervals-column {
  border-right: var(--calendar-border);
  min-width: var(--calendar-intervals-width);
  max-width: var(--calendar-intervals-width);
}
.q-calendar-day__day {
  border-right: var(--calendar-border);
}
.q-calendar-day__day:last-child {
  border-right: none !important;
}
.q-calendar-day__day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-day__day-interval {
  width: 100%;
  border-top: var(--calendar-border);
}
.q-calendar-day__day-interval.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-day__day-interval.q-range-first, .q-calendar-day__day-interval.q-range-last, .q-calendar-day__day-interval.q-range {
  color: var(--calendar-range-color);
  background: var(--calendar-range-background);
}
.q-calendar-day__day-interval--section {
  border-top: var(--calendar-border-section);
}
.q-calendar-day__day-interval--section.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-day__day-interval--section.q-range-first, .q-calendar-day__day-interval--section.q-range-last, .q-calendar-day__day-interval--section.q-range {
  color: var(--calendar-range-color);
  background: var(--calendar-range-background);
}
.q-calendar-day__day-interval:first-child {
  border-top: none !important;
}
.q-calendar-day__day-interval:last-child {
  border-bottom: none !important;
}

.q-dark div .q-calendar-day__head,
.body--dark div .q-calendar-day__head,
.q-calendar--dark .q-calendar-day__head {
  border-bottom: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-day__interval, .q-dark div .q-calendar-day__interval--section,
.body--dark div .q-calendar-day__interval,
.body--dark div .q-calendar-day__interval--section,
.q-calendar--dark .q-calendar-day__interval,
.q-calendar--dark .q-calendar-day__interval--section {
  border-bottom: var(--calendar-background-dark) 1px solid;
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-day__head--intervals,
.body--dark div .q-calendar-day__head--intervals,
.q-calendar--dark .q-calendar-day__head--intervals {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-day__head--day,
.body--dark div .q-calendar-day__head--day,
.q-calendar--dark .q-calendar-day__head--day {
  border-right: var(--calendar-border-dark);
  font-weight: var(--calendar-head-font-weight);
}
.q-dark div .q-calendar-day__head--day:last-child,
.body--dark div .q-calendar-day__head--day:last-child,
.q-calendar--dark .q-calendar-day__head--day:last-child {
  border-right: none;
}
.q-dark div .q-calendar-day__head--day.q-active-date .q-calendar__button,
.body--dark div .q-calendar-day__head--day.q-active-date .q-calendar__button,
.q-calendar--dark .q-calendar-day__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color-dark);
  background: var(--calendar-active-date-background-dark);
}
.q-dark div .q-calendar-day__head--day.q-current-day .q-calendar__button,
.body--dark div .q-calendar-day__head--day.q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-day__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark);
}
.q-dark div .q-calendar-day__head--day__event,
.body--dark div .q-calendar-day__head--day__event,
.q-calendar--dark .q-calendar-day__head--day__event {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-day__head--day.q-disabled-day,
.body--dark div .q-calendar-day__head--day.q-disabled-day,
.q-calendar--dark .q-calendar-day__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-day__column-header--before,
.body--dark div .q-calendar-day__column-header--before,
.q-calendar--dark .q-calendar-day__column-header--before {
  border-bottom: var(--calendar-border-dark);
}
.q-dark div .q-calendar-day__column-header--after,
.body--dark div .q-calendar-day__column-header--after,
.q-calendar--dark .q-calendar-day__column-header--after {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-day__intervals-column,
.body--dark div .q-calendar-day__intervals-column,
.q-calendar--dark .q-calendar-day__intervals-column {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-day__day,
.body--dark div .q-calendar-day__day,
.q-calendar--dark .q-calendar-day__day {
  border-right: var --calendar-border-dark;
}
.q-dark div .q-calendar-day__day:last-child,
.body--dark div .q-calendar-day__day:last-child,
.q-calendar--dark .q-calendar-day__day:last-child {
  border-right: none !important;
}
.q-dark div .q-calendar-day__day.q-disabled-day,
.body--dark div .q-calendar-day__day.q-disabled-day,
.q-calendar--dark .q-calendar-day__day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-dark div .q-calendar-day__day-interval,
.body--dark div .q-calendar-day__day-interval,
.q-calendar--dark .q-calendar-day__day-interval {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-day__day-interval.q-selected,
.body--dark div .q-calendar-day__day-interval.q-selected,
.q-calendar--dark .q-calendar-day__day-interval.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-day__day-interval.q-range-first, .q-dark div .q-calendar-day__day-interval.q-range-last, .q-dark div .q-calendar-day__day-interval.q-range,
.body--dark div .q-calendar-day__day-interval.q-range-first,
.body--dark div .q-calendar-day__day-interval.q-range-last,
.body--dark div .q-calendar-day__day-interval.q-range,
.q-calendar--dark .q-calendar-day__day-interval.q-range-first,
.q-calendar--dark .q-calendar-day__day-interval.q-range-last,
.q-calendar--dark .q-calendar-day__day-interval.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}
.q-dark div .q-calendar-day__day-interval:first-child,
.body--dark div .q-calendar-day__day-interval:first-child,
.q-calendar--dark .q-calendar-day__day-interval:first-child {
  border-top: none !important;
}
.q-dark div .q-calendar-day__day-interval:last-child,
.body--dark div .q-calendar-day__day-interval:last-child,
.q-calendar--dark .q-calendar-day__day-interval:last-child {
  border-bottom: none !important;
}
.q-dark div .q-calendar-day__day-interval--section,
.body--dark div .q-calendar-day__day-interval--section,
.q-calendar--dark .q-calendar-day__day-interval--section {
  border-top: var(--calendar-border-section-dark);
}
.q-dark div .q-calendar-day__day-interval--section.q-selected,
.body--dark div .q-calendar-day__day-interval--section.q-selected,
.q-calendar--dark .q-calendar-day__day-interval--section.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-day__day-interval--section.q-range-first, .q-dark div .q-calendar-day__day-interval--section.q-range-last, .q-dark div .q-calendar-day__day-interval--section.q-range,
.body--dark div .q-calendar-day__day-interval--section.q-range-first,
.body--dark div .q-calendar-day__day-interval--section.q-range-last,
.body--dark div .q-calendar-day__day-interval--section.q-range,
.q-calendar--dark .q-calendar-day__day-interval--section.q-range-first,
.q-calendar--dark .q-calendar-day__day-interval--section.q-range-last,
.q-calendar--dark .q-calendar-day__day-interval--section.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}

.q-calendar-task {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  width: 100%;
}
.q-calendar-task__head {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: column;
}
.q-calendar-task__head--tasks {
  position: relative;
  display: flex;
}
.q-calendar-task__head--days {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-task__head--day {
  position: relative;
  flex: 1 1 100%;
  flex-wrap: nowrap;
  overflow: hidden;
  width: 0;
  outline: 0;
}
.q-calendar-task__title {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: row;
}
.q-calendar-task__title--task {
  position: relative;
  display: flex;
}
.q-calendar-task__title--days {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-task__title--day {
  position: relative;
  flex: 1 1 100%;
  flex-wrap: nowrap;
  overflow: hidden;
  width: 0;
  outline: 0;
}
.q-calendar-task__head--weekday, .q-calendar-task__head--date {
  display: flex;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  margin: 2px;
  flex: 1 0 0;
}
.q-calendar-task__container {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.q-calendar-task__body {
  position: relative;
  display: flex;
  flex: 1 1 60%;
  overflow: hidden;
}
.q-calendar-task__scroll-area {
  overflow: auto;
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
}
.q-calendar-task__task {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: row;
  width: 100%;
}
.q-calendar-task__task--section {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: row;
  width: 100%;
}
.q-calendar-task__task--container {
  position: relative;
  min-height: 22px;
}
.q-calendar-task__task--item {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: row;
}
.q-calendar-task__task--days-row {
  position: relative;
  display: flex;
  flex: none;
}
.q-calendar-task__task--day {
  display: flex;
  justify-content: center;
  align-items: center;
}
.q-calendar-task__footer {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: column;
}
.q-calendar-task__footer--wrapper {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: row;
}
.q-calendar-task__footer--task, .q-calendar-task__footer--day-wrapper {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: row;
}

.q-calendar-task__head.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-task__head--tasks.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-task__title--task.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-task__task--container.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 1;
}

.q-calendar-task__task--item.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 1;
}

.q-calendar-task__footer.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  bottom: 0;
  z-index: 1;
}

.q-calendar-task__footer--task.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  bottom: 0;
  z-index: 2;
}

.q-calendar-task__footer--day.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 2;
}

.q-calendar-task__head {
  color: var(--calendar-color);
  background: var(--calendar-background);
  border-bottom: var(--calendar-border);
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-task__head--tasks {
  color: var(--calendar-color);
  background: var(--calendar-background);
  border-right: var(--calendar-border);
}
.q-calendar-task__head--day {
  border-right: var(--calendar-border);
}
.q-calendar-task__head--day:last-child {
  border-right: none;
}
.q-calendar-task__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color);
  background: var(--calendar-active-date-background);
}
.q-calendar-task__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current);
}
.q-calendar-task__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-task__title {
  color: var(--calendar-color);
  background: var(--calendar-background);
  border-top: var(--calendar-border);
}
.q-calendar-task__title--task {
  color: var(--calendar-color);
  background: var(--calendar-background);
  border-right: var(--calendar-border);
}
.q-calendar-task__title--day {
  border-right: var(--calendar-border);
}
.q-calendar-task__title--day:last-child {
  border-right: none;
}
.q-calendar-task__title--day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-task__task {
  border-bottom: var(--calendar-border);
}
.q-calendar-task__task:last-child {
  border-bottom: none !important;
}
.q-calendar-task__task--section {
  border-bottom: var(--calendar-border-section);
}
.q-calendar-task__task--item {
  background: var(--calendar-background);
  border-right: var(--calendar-border);
}
.q-calendar-task__task--day {
  border-right: var(--calendar-border);
}
.q-calendar-task__task--day:last-child {
  border-right: none;
}
.q-calendar-task__footer {
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-task__footer--wrapper {
  border-top: var(--calendar-border);
}
.q-calendar-task__footer--task {
  background: var(--calendar-background);
  border-right: var(--calendar-border);
}
.q-calendar-task__footer--day {
  background: var(--calendar-background);
  border-right: var(--calendar-border);
}
.q-calendar-task__footer--day:last-child {
  border-right: none;
}

.q-dark div .q-calendar-task__head,
.body--dark div .q-calendar-task__head,
.q-calendar--dark .q-calendar-task__head {
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
  border-bottom: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__head--tasks,
.body--dark div .q-calendar-task__head--tasks,
.q-calendar--dark .q-calendar-task__head--tasks {
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__head--day,
.body--dark div .q-calendar-task__head--day,
.q-calendar--dark .q-calendar-task__head--day {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__head--day.q-active-date .q-calendar__button,
.body--dark div .q-calendar-task__head--day.q-active-date .q-calendar__button,
.q-calendar--dark .q-calendar-task__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color-dark);
  background: var(--calendar-active-date-background-dark);
}
.q-dark div .q-calendar-task__head--day.q-current-day .q-calendar__button,
.body--dark div .q-calendar-task__head--day.q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-task__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark);
}
.q-dark div .q-calendar-task__head--day.q-disabled-day,
.body--dark div .q-calendar-task__head--day.q-disabled-day,
.q-calendar--dark .q-calendar-task__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-task__title,
.body--dark div .q-calendar-task__title,
.q-calendar--dark .q-calendar-task__title {
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__title--task,
.body--dark div .q-calendar-task__title--task,
.q-calendar--dark .q-calendar-task__title--task {
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__title--day,
.body--dark div .q-calendar-task__title--day,
.q-calendar--dark .q-calendar-task__title--day {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__title--day.q-disabled-day,
.body--dark div .q-calendar-task__title--day.q-disabled-day,
.q-calendar--dark .q-calendar-task__title--day.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-task__task,
.body--dark div .q-calendar-task__task,
.q-calendar--dark .q-calendar-task__task {
  border-bottom: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__task--section,
.body--dark div .q-calendar-task__task--section,
.q-calendar--dark .q-calendar-task__task--section {
  border-bottom: var(--calendar-border-section-dark);
}
.q-dark div .q-calendar-task__task--item,
.body--dark div .q-calendar-task__task--item,
.q-calendar--dark .q-calendar-task__task--item {
  background: var(--calendar-background-dark);
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__task--day,
.body--dark div .q-calendar-task__task--day,
.q-calendar--dark .q-calendar-task__task--day {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__footer--wrapper,
.body--dark div .q-calendar-task__footer--wrapper,
.q-calendar--dark .q-calendar-task__footer--wrapper {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__footer--task,
.body--dark div .q-calendar-task__footer--task,
.q-calendar--dark .q-calendar-task__footer--task {
  background: var(--calendar-background-dark);
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-task__footer--day,
.body--dark div .q-calendar-task__footer--day,
.q-calendar--dark .q-calendar-task__footer--day {
  background: var(--calendar-background-dark);
  border-right: var(--calendar-border-dark);
}

.q-calendar-month {
  display: flex;
  flex: 1 0 100%;
  flex-direction: column;
  flex-wrap: nowrap;
  width: 100%;
}
.q-calendar-month__head {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
}
.q-calendar-month__head--wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
}
.q-calendar-month__head--workweek {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  -webkit-user-select: none;
          user-select: none;
  padding: 0;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
}
.q-calendar-month__head--weekdays {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-month__head--events {
  position: relative;
  display: flex;
  flex: 1 1 100%;
  flex-direction: row;
  flex-wrap: nowrap;
}
.q-calendar-month__head--weekday {
  position: relative;
  display: flex;
  flex: 1 0 100%;
  flex-direction: column;
  justify-content: flex-start;
  height: auto;
  overflow: hidden;
  -webkit-user-select: none;
          user-select: none;
  outline: 0;
}
.q-calendar-month__body {
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.q-calendar-month__week {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  flex: 10000 1 0%;
}
.q-calendar-month__week--wrapper {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow: hidden;
  min-width: 100%;
  transition: height 0.3s;
}
.q-calendar-month__week--auto-height {
  flex: 1 1 auto;
}
.q-calendar-month__week--days {
  position: relative;
  height: auto;
  display: flex;
  flex: 1 0 auto;
  flex-wrap: nowrap;
  padding: 0;
}
.q-calendar-month__week--events {
  position: absolute;
  margin-top: 28px;
  width: 100%;
  overflow: hidden;
}
.q-calendar-month__workweek {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  -webkit-user-select: none;
          user-select: none;
  padding: 0;
  align-items: center;
}
.q-calendar-month__day {
  position: relative;
  display: flex;
  flex: 1 0 100%;
  flex-direction: column;
  height: auto;
  overflow: hidden;
  -webkit-user-select: none;
          user-select: none;
  outline: 0;
}
.q-calendar-month__day--content {
  position: relative;
  width: 100%;
  height: auto;
  flex: 1 0 auto;
  flex-direction: column;
  min-width: 100%;
}
.q-calendar-month__day--label {
  text-decoration: none;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-month__day--label__wrapper {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  min-width: 100%;
  min-height: 22px;
}
.q-calendar-month__day--month {
  position: relative;
  text-decoration: none;
  -webkit-user-select: none;
          user-select: none;
  padding: 1px;
  font-size: 0.75em;
  line-height: 22px;
  transition: font-size 0.3s;
}
.q-calendar-month__day--day-of-year {
  position: relative;
  text-decoration: none;
  -webkit-user-select: none;
          user-select: none;
  box-shadow: none;
  font-size: 0.6rem;
  padding: 1px;
}

.q-calendar-month__head {
  border-bottom: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
}
.q-calendar-month__head--workweek {
  font-size: var(--calendar-work-week-font-size);
  border-right: var(--calendar-border);
  max-width: var(--calendar-work-week-width);
  min-width: var(--calendar-work-week-width);
}
.q-calendar-month__head--weekday {
  border-right: var(--calendar-border);
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-month__head--weekday:last-child {
  border-right: none !important;
}
.q-calendar-month__head--event {
  border-right: var(--calendar-border);
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-month__head--event:last-child {
  border-right: none !important;
}
.q-calendar-month__head--event.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-month__workweek {
  font-size: var(--calendar-work-week-font-size);
  border-right: var(--calendar-border);
  max-width: var(--calendar-work-week-width);
  min-width: var(--calendar-work-week-width);
}
.q-calendar-month__workweek.q-current-day {
  color: var(--calendar-current-color);
}
.q-calendar-month__week--wrapper {
  border-bottom: var(--calendar-border);
}
.q-calendar-month__week--wrapper:last-child {
  border-bottom: none !important;
}
.q-calendar-month__day {
  border-right: var(--calendar-border);
}
.q-calendar-month__day:last-child {
  border-right: none !important;
}
.q-calendar-month__day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color);
  background: var(--calendar-active-date-background);
}
.q-calendar-month__day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current);
}
.q-calendar-month__day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-month__day.q-outside {
  color: var(--calendar-outside-color) !important;
  background: var(--calendar-outside-background);
}
.q-calendar-month__day.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-month__day.q-selected .q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark) !important;
}
.q-calendar-month__day.q-range-first, .q-calendar-month__day.q-range-last, .q-calendar-month__day.q-range {
  color: var(--calendar-range-color);
  background: var(--calendar-range-background);
}
.q-calendar-month__day.q-range-first .q-current-day .q-calendar__button, .q-calendar-month__day.q-range-last .q-current-day .q-calendar__button, .q-calendar-month__day.q-range .q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark) !important;
}

.q-dark div .q-calendar-month__head,
.body--dark div .q-calendar-month__head,
.q-calendar--dark .q-calendar-month__head {
  border-bottom: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-month__head--workweek,
.body--dark div .q-calendar-month__head--workweek,
.q-calendar--dark .q-calendar-month__head--workweek {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-month__head--weekday,
.body--dark div .q-calendar-month__head--weekday,
.q-calendar--dark .q-calendar-month__head--weekday {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-month__head--weekday:last-child,
.body--dark div .q-calendar-month__head--weekday:last-child,
.q-calendar--dark .q-calendar-month__head--weekday:last-child {
  border-right: none !important;
}
.q-dark div .q-calendar-month__head--weekday.q-disabled-day,
.body--dark div .q-calendar-month__head--weekday.q-disabled-day,
.q-calendar--dark .q-calendar-month__head--weekday.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-month__workweek,
.body--dark div .q-calendar-month__workweek,
.q-calendar--dark .q-calendar-month__workweek {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-month__workweek.q-current-day,
.body--dark div .q-calendar-month__workweek.q-current-day,
.q-calendar--dark .q-calendar-month__workweek.q-current-day {
  color: var(--calendar-current-color-dark);
}
.q-dark div .q-calendar-month__week--wrapper,
.body--dark div .q-calendar-month__week--wrapper,
.q-calendar--dark .q-calendar-month__week--wrapper {
  border-bottom: var(--calendar-border-dark);
}
.q-dark div .q-calendar-month__week--wrapper:last-child,
.body--dark div .q-calendar-month__week--wrapper:last-child,
.q-calendar--dark .q-calendar-month__week--wrapper:last-child {
  border-bottom: none !important;
}
.q-dark div .q-calendar-month__day,
.body--dark div .q-calendar-month__day,
.q-calendar--dark .q-calendar-month__day {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-month__day:last-child,
.body--dark div .q-calendar-month__day:last-child,
.q-calendar--dark .q-calendar-month__day:last-child {
  border-right: none !important;
}
.q-dark div .q-calendar-month__day.q-active-date .q-calendar__button,
.body--dark div .q-calendar-month__day.q-active-date .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color-dark);
  background: var(--calendar-active-date-background-dark) !important;
}
.q-dark div .q-calendar-month__day.q-current-day .q-calendar__button,
.body--dark div .q-calendar-month__day.q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark);
}
.q-dark div .q-calendar-month__day.q-current-day,
.body--dark div .q-calendar-month__day.q-current-day,
.q-calendar--dark .q-calendar-month__day.q-current-day {
  color: var(--calendar-current-color-dark) !important;
  background: var(--calendar-current-background-dark);
}
.q-dark div .q-calendar-month__day.q-current-day .q-calendar__button,
.body--dark div .q-calendar-month__day.q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark) !important;
  background: var(--calendar-current-background-dark);
}
.q-dark div .q-calendar-month__day.q-disabled-day,
.body--dark div .q-calendar-month__day.q-disabled-day,
.q-calendar--dark .q-calendar-month__day.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-month__day.q-outside,
.body--dark div .q-calendar-month__day.q-outside,
.q-calendar--dark .q-calendar-month__day.q-outside {
  color: var(--calendar-outside-color-dark) !important;
  background: var(--calendar-outside-background-dark);
}
.q-dark div .q-calendar-month__day.q-selected,
.body--dark div .q-calendar-month__day.q-selected,
.q-calendar--dark .q-calendar-month__day.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-month__day.q-selected .q-current-day .q-calendar__button,
.body--dark div .q-calendar-month__day.q-selected .q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-selected .q-current-day .q-calendar__button {
  border: var(--calendar-border-current) !important;
}
.q-dark div .q-calendar-month__day.q-range-first, .q-dark div .q-calendar-month__day.q-range-last, .q-dark div .q-calendar-month__day.q-range,
.body--dark div .q-calendar-month__day.q-range-first,
.body--dark div .q-calendar-month__day.q-range-last,
.body--dark div .q-calendar-month__day.q-range,
.q-calendar--dark .q-calendar-month__day.q-range-first,
.q-calendar--dark .q-calendar-month__day.q-range-last,
.q-calendar--dark .q-calendar-month__day.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}
.q-dark div .q-calendar-month__day.q-range-first .q-current-day .q-calendar__button, .q-dark div .q-calendar-month__day.q-range-last .q-current-day .q-calendar__button, .q-dark div .q-calendar-month__day.q-range .q-current-day .q-calendar__button,
.body--dark div .q-calendar-month__day.q-range-first .q-current-day .q-calendar__button,
.body--dark div .q-calendar-month__day.q-range-last .q-current-day .q-calendar__button,
.body--dark div .q-calendar-month__day.q-range .q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-range-first .q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-range-last .q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-month__day.q-range .q-current-day .q-calendar__button {
  border: var(--calendar-border-current) !important;
}

.q-day-event:first-child {
  margin-top: 0em;
}

.q-calendar-resource {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  width: 100%;
}
.q-calendar-resource__head--intervals {
  display: flex;
  flex-direction: row;
}
.q-calendar-resource__head {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: row;
}
.q-calendar-resource__head--intervals {
  display: flex;
  flex-direction: row;
}
.q-calendar-resource__head--interval {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-size: 10px;
  -webkit-user-select: none;
          user-select: none;
  width: 100%;
  height: 100%;
}
.q-calendar-resource__body {
  position: relative;
  display: flex;
  flex: 1 1 60%;
  flex-direction: column;
  overflow: hidden;
}
.q-calendar-resource__scroll-area {
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
  overflow: auto;
}
.q-calendar-resource__day--container {
  position: relative;
  display: flex;
  flex: 1;
  flex-wrap: nowrap;
  flex-direction: column;
}
.q-calendar-resource__resource--head {
  display: flex;
  flex-direction: row;
  flex: 1;
  position: relative;
  font-size: 10px;
}
.q-calendar-resource__resources--body {
  display: flex;
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
}
.q-calendar-resource__resource--row {
  display: flex;
  position: relative;
  flex-direction: row;
  flex-wrap: nowrap;
  flex: 1;
}
.q-calendar-resource__resource {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  vertical-align: middle;
  outline: 0;
}
.q-calendar-resource__resource--interval {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  vertical-align: middle;
  outline: 0;
}
.q-calendar-resource__resource--section {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  vertical-align: middle;
  outline: 0;
}
.q-calendar-resource__resource--text {
  display: flex;
  position: relative;
  font-size: 12px;
  align-items: center;
  flex-wrap: wrap;
  padding: 2px;
}
.q-calendar-resource__resource--intervals {
  display: flex;
  position: relative;
}

.q-calendar-resource__resource.q-calendar__sticky,
.q-calendar-resource__resource--section.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 1;
}

.q-calendar-resource__head.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-resource__head--resources.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 10;
}

.q-calendar-resource__head {
  color: var(--calendar-color);
  background: var(--calendar-background);
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-resource__head--resources {
  border-right: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  min-width: var(--calendar-resources-width);
  max-width: var(--calendar-resources-width);
}
.q-calendar-resource__head--resources:last-child {
  border-bottom: none;
}
.q-calendar-resource__head--interval {
  border-right: var(--calendar-border);
}
.q-calendar-resource__head--interval:last-child {
  border-right: none;
}
.q-calendar-resource__resource {
  border-right: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  min-width: var(--calendar-resources-width);
  max-width: var(--calendar-resources-width);
}
.q-calendar-resource__resource:last-child {
  border-right: none;
}
.q-calendar-resource__resource--row {
  border-top: var(--calendar-border);
}
.q-calendar-resource__resource--row:first-child {
  border-top: none;
}
.q-calendar-resource__resource--section {
  border-right: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  min-width: var(--calendar-resources-width);
  max-width: var(--calendar-resources-width);
}
.q-calendar-resource__resource--interval {
  border-right: var(--calendar-border);
}
.q-calendar-resource__resource--interval:last-child {
  border-right: none;
}
.q-calendar-resource .q-calendar__child--expanded > .q-calendar-resource__resource--row {
  border-top: var(--calendar-border) !important;
}

.q-dark div .q-calendar-resource__head,
.body--dark div .q-calendar-resource__head,
.q-calendar--dark .q-calendar-resource__head {
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-resource__head--resources,
.body--dark div .q-calendar-resource__head--resources,
.q-calendar--dark .q-calendar-resource__head--resources {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-resource__head--interval,
.body--dark div .q-calendar-resource__head--interval,
.q-calendar--dark .q-calendar-resource__head--interval {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-resource__resource,
.body--dark div .q-calendar-resource__resource,
.q-calendar--dark .q-calendar-resource__resource {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-resource__resource--row,
.body--dark div .q-calendar-resource__resource--row,
.q-calendar--dark .q-calendar-resource__resource--row {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-resource__resource--section,
.body--dark div .q-calendar-resource__resource--section,
.q-calendar--dark .q-calendar-resource__resource--section {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-resource__resource--interval,
.body--dark div .q-calendar-resource__resource--interval,
.q-calendar--dark .q-calendar-resource__resource--interval {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-resource .q-calendar__child--expanded > .q-calendar-resource__resource--row,
.body--dark div .q-calendar-resource .q-calendar__child--expanded > .q-calendar-resource__resource--row,
.q-calendar--dark .q-calendar-resource .q-calendar__child--expanded > .q-calendar-resource__resource--row {
  border-top: var(--calendar-border-dark) !important;
}

.q-calendar-scheduler {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 100%;
  width: 100%;
}
.q-calendar-scheduler__head {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: row;
}
.q-calendar-scheduler__head--resources {
  display: flex;
  flex-direction: row;
}
.q-calendar-scheduler__head--days__body {
  position: relative;
  display: flex;
  flex-direction: row;
  flex: 10000 1 0%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-scheduler__head--days__column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-scheduler__head--days__weekdays {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-scheduler__head--days__event {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
}
.q-calendar-scheduler__head--days__events {
  position: absolute;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  bottom: 0;
  left: 0;
  right: 0;
}
.q-calendar-scheduler__head--day {
  position: relative;
  flex: 1 1 100%;
  flex-wrap: nowrap;
  overflow: hidden;
  width: 0;
  outline: 0;
}
.q-calendar-scheduler__head--day__event {
  position: relative;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  overflow: hidden;
}
.q-calendar-scheduler__head--weekday, .q-calendar-scheduler__head--date, .q-calendar-scheduler__column-header--before, .q-calendar-scheduler__column-header--after {
  display: flex;
  flex-wrap: nowrap;
  -webkit-user-select: none;
          user-select: none;
  font-size: 1rem;
}
.q-calendar-scheduler__head--weekday, .q-calendar-scheduler__head--date {
  margin: 2px;
  flex: 1 0 0;
}
.q-calendar-scheduler__head--day__label {
  -webkit-user-select: none;
          user-select: none;
  cursor: pointer;
}
.q-calendar-scheduler__body {
  flex: 1 1 60%;
  overflow: hidden;
  display: flex;
  position: relative;
}
.q-calendar-scheduler__scroll-area {
  overflow: auto;
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
}
.q-calendar-scheduler__pane {
  width: 100%;
  overflow: hidden;
  flex: none;
  display: flex;
  align-items: flex-start;
}
.q-calendar-scheduler__day--container {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.q-calendar-scheduler__resources--column {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  -webkit-user-select: none;
          user-select: none;
}
.q-calendar-scheduler__resource {
  position: relative;
  display: flex;
  align-items: center;
  outline: 0;
}
.q-calendar-scheduler__resource--interval {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  vertical-align: middle;
  outline: 0;
}
.q-calendar-scheduler__resource--section {
  position: relative;
  display: flex;
  align-items: center;
  text-align: left;
  vertical-align: middle;
  outline: 0;
}
.q-calendar-scheduler__resource--text {
  position: relative;
  display: block;
  font-size: 12px;
  text-align: left;
  margin-left: 2px;
}
.q-calendar-scheduler__resource--row {
  position: relative;
  display: flex;
  flex: 1 0 100%;
}
.q-calendar-scheduler__resource--days {
  flex: 1 1 60%;
  overflow: hidden;
  display: flex;
  position: relative;
}
.q-calendar-scheduler__day {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  outline: 0;
}
.q-calendar-scheduler__day--section {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  outline: 0;
}
.q-calendar-scheduler__day--resource {
  position: relative;
  width: 100%;
  outline: 0;
  overflow: hidden;
}
.q-calendar-scheduler__day--resource__section {
  position: relative;
  width: 100%;
  outline: 0;
  overflow: hidden;
}

.q-calendar-scheduler__resource.q-calendar__sticky,
.q-calendar-scheduler__resource--section.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  z-index: 1;
}

.q-calendar-scheduler__head.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 2;
}

.q-calendar-scheduler__head--resources.q-calendar__sticky {
  position: sticky;
  left: 0; /* rtl:ignore */
  top: 0;
  z-index: 3;
}

.q-calendar-scheduler__head {
  border-bottom: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-scheduler__head--resources {
  border-right: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  min-width: var(--calendar-resources-width);
  max-width: var(--calendar-resources-width);
}
.q-calendar-scheduler__resource {
  border-right: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  min-width: var(--calendar-resources-width);
  max-width: var --calendar-resources-width;
}
.q-calendar-scheduler__resource--section {
  border-right: var(--calendar-border);
  color: var(--calendar-color);
  background: var(--calendar-background);
  min-width: var(--calendar-resources-width);
  max-width: var(--calendar-resources-width);
}
.q-calendar-scheduler__head--day {
  border-right: var(--calendar-border);
  font-weight: var(--calendar-head-font-weight);
}
.q-calendar-scheduler__head--day:last-child {
  border-right: none;
}
.q-calendar-scheduler__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color);
  background: var(--calendar-active-date-background);
}
.q-calendar-scheduler__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current);
}
.q-calendar-scheduler__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-scheduler__head--day__event {
  border-right: var(--calendar-border);
}
.q-calendar-scheduler__head--day__event:last-child {
  border-right: none;
}
.q-calendar-scheduler__column-header--before {
  border-bottom: var(--calendar-border);
}
.q-calendar-scheduler__column-header--after {
  border-top: var(--calendar-border);
}
.q-calendar-scheduler__resources--column {
  border-right: var(--calendar-border);
  min-width: var(--calendar-resources-width);
  max-width: var(--calendar-resources-width);
}
.q-calendar-scheduler__resource--row {
  border-top: var(--calendar-border);
}
.q-calendar-scheduler__resource--row:first-child {
  border-top: none !important;
}
.q-calendar-scheduler__day, .q-calendar-scheduler__day--section {
  border-right: var(--calendar-border);
}
.q-calendar-scheduler__day:last-child, .q-calendar-scheduler__day--section:last-child {
  border-right: none;
}
.q-calendar-scheduler__day.q-disabled-day, .q-calendar-scheduler__day--section.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-calendar-scheduler__day--resource {
  border-top: var(--calendar-border);
}
.q-calendar-scheduler__day--resource.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-scheduler__day--resource.q-range-first, .q-calendar-scheduler__day--resource.q-range-last, .q-calendar-scheduler__day--resource.q-range {
  color: var(--calendar-range-color);
  background: var(--calendar-range-background);
}
.q-calendar-scheduler__day--resource__section {
  border-top: var(--calendar-border-section);
}
.q-calendar-scheduler__day--resource__section.q-selected {
  color: var(--calendar-selected-color);
  background: var(--calendar-selected-background);
}
.q-calendar-scheduler__day--resource__section.q-range-first, .q-calendar-scheduler__day--resource__section.q-range-last, .q-calendar-scheduler__day--resource__section.q-range {
  color: var(--calendar-range-color);
  background: var --calendar-range-background;
}
.q-calendar-scheduler__day--resource__section:first-child {
  border-top: none !important;
}
.q-calendar-scheduler__day--resource__section:last-child {
  border-bottom: none !important;
}
.q-calendar-scheduler .q-calendar__child--expanded > .q-calendar-scheduler__resource--row {
  border-top: var(--calendar-border) !important;
}

.q-dark div .q-calendar-scheduler__head,
.body--dark div .q-calendar-scheduler__head,
.q-calendar--dark .q-calendar-scheduler__head {
  border-bottom: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-scheduler__resource,
.body--dark div .q-calendar-scheduler__resource,
.q-calendar--dark .q-calendar-scheduler__resource {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-scheduler__resource--section,
.body--dark div .q-calendar-scheduler__resource--section,
.q-calendar--dark .q-calendar-scheduler__resource--section {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-scheduler__head--resources,
.body--dark div .q-calendar-scheduler__head--resources,
.q-calendar--dark .q-calendar-scheduler__head--resources {
  border-right: var(--calendar-border-dark);
  color: var(--calendar-color-dark);
  background: var(--calendar-background-dark);
}
.q-dark div .q-calendar-scheduler__head--day,
.body--dark div .q-calendar-scheduler__head--day,
.q-calendar--dark .q-calendar-scheduler__head--day {
  border-right: var(--calendar-border-dark);
  font-weight: var(--calendar-head-font-weight);
}
.q-dark div .q-calendar-scheduler__head--day:last-child,
.body--dark div .q-calendar-scheduler__head--day:last-child,
.q-calendar--dark .q-calendar-scheduler__head--day:last-child {
  border-right: none;
}
.q-dark div .q-calendar-scheduler__head--day.q-active-date .q-calendar__button,
.body--dark div .q-calendar-scheduler__head--day.q-active-date .q-calendar__button,
.q-calendar--dark .q-calendar-scheduler__head--day.q-active-date .q-calendar__button {
  color: var(--calendar-active-date-color-dark);
  background: var(--calendar-active-date-background-dark);
}
.q-dark div .q-calendar-scheduler__head--day.q-current-day .q-calendar__button,
.body--dark div .q-calendar-scheduler__head--day.q-current-day .q-calendar__button,
.q-calendar--dark .q-calendar-scheduler__head--day.q-current-day .q-calendar__button {
  border: var(--calendar-border-current-dark);
}
.q-dark div .q-calendar-scheduler__head--day__event,
.body--dark div .q-calendar-scheduler__head--day__event,
.q-calendar--dark .q-calendar-scheduler__head--day__event {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__head--day.q-disabled-day,
.body--dark div .q-calendar-scheduler__head--day.q-disabled-day,
.q-calendar--dark .q-calendar-scheduler__head--day.q-disabled-day {
  color: var(--calendar-disabled-date-color-dark);
  background: var(--calendar-disabled-date-background-dark) !important;
}
.q-dark div .q-calendar-scheduler__column-header--before,
.body--dark div .q-calendar-scheduler__column-header--before,
.q-calendar--dark .q-calendar-scheduler__column-header--before {
  border-bottom: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__column-header--after,
.body--dark div .q-calendar-scheduler__column-header--after,
.q-calendar--dark .q-calendar-scheduler__column-header--after {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__resources--column,
.body--dark div .q-calendar-scheduler__resources--column,
.q-calendar--dark .q-calendar-scheduler__resources--column {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__resource--row,
.body--dark div .q-calendar-scheduler__resource--row,
.q-calendar--dark .q-calendar-scheduler__resource--row {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__day, .q-dark div .q-calendar-scheduler__day--section,
.body--dark div .q-calendar-scheduler__day,
.body--dark div .q-calendar-scheduler__day--section,
.q-calendar--dark .q-calendar-scheduler__day,
.q-calendar--dark .q-calendar-scheduler__day--section {
  border-right: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__day:last-child, .q-dark div .q-calendar-scheduler__day--section:last-child,
.body--dark div .q-calendar-scheduler__day:last-child,
.body--dark div .q-calendar-scheduler__day--section:last-child,
.q-calendar--dark .q-calendar-scheduler__day:last-child,
.q-calendar--dark .q-calendar-scheduler__day--section:last-child {
  border-right: none;
}
.q-dark div .q-calendar-scheduler__day.q-disabled-day, .q-dark div .q-calendar-scheduler__day--section.q-disabled-day,
.body--dark div .q-calendar-scheduler__day.q-disabled-day,
.body--dark div .q-calendar-scheduler__day--section.q-disabled-day,
.q-calendar--dark .q-calendar-scheduler__day.q-disabled-day,
.q-calendar--dark .q-calendar-scheduler__day--section.q-disabled-day {
  color: var(--calendar-disabled-date-color);
  background: var(--calendar-disabled-date-background) !important;
}
.q-dark div .q-calendar-scheduler__day--resource,
.body--dark div .q-calendar-scheduler__day--resource,
.q-calendar--dark .q-calendar-scheduler__day--resource {
  border-top: var(--calendar-border-dark);
}
.q-dark div .q-calendar-scheduler__day--resource.q-selected,
.body--dark div .q-calendar-scheduler__day--resource.q-selected,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-scheduler__day--resource.q-range-first, .q-dark div .q-calendar-scheduler__day--resource.q-range-last, .q-dark div .q-calendar-scheduler__day--resource.q-range,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last,
.body--dark div .q-calendar-scheduler__day--resource.q-range,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}
.q-dark div .q-calendar-scheduler__day--resource.q-range-first:first-child, .q-dark div .q-calendar-scheduler__day--resource.q-range-last:first-child, .q-dark div .q-calendar-scheduler__day--resource.q-range:first-child,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first:first-child,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last:first-child,
.body--dark div .q-calendar-scheduler__day--resource.q-range:first-child,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first:first-child,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last:first-child,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range:first-child {
  border-top: none !important;
}
.q-dark div .q-calendar-scheduler__day--resource.q-range-first:last-child, .q-dark div .q-calendar-scheduler__day--resource.q-range-last:last-child, .q-dark div .q-calendar-scheduler__day--resource.q-range:last-child,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first:last-child,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last:last-child,
.body--dark div .q-calendar-scheduler__day--resource.q-range:last-child,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first:last-child,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last:last-child,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range:last-child {
  border-bottom: none !important;
}
.q-dark div .q-calendar-scheduler__day--resource.q-range-first__section, .q-dark div .q-calendar-scheduler__day--resource.q-range-last__section, .q-dark div .q-calendar-scheduler__day--resource.q-range__section,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first__section,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last__section,
.body--dark div .q-calendar-scheduler__day--resource.q-range__section,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first__section,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last__section,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range__section {
  border-top: var(--calendar-border-section-dark);
}
.q-dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-selected, .q-dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-selected, .q-dark div .q-calendar-scheduler__day--resource.q-range__section.q-selected,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-selected,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-selected,
.body--dark div .q-calendar-scheduler__day--resource.q-range__section.q-selected,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first__section.q-selected,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last__section.q-selected,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range__section.q-selected {
  color: var(--calendar-selected-color-dark);
  background: var(--calendar-selected-background-dark);
}
.q-dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-range-first, .q-dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-range-last, .q-dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-range, .q-dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-range-first, .q-dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-range-last, .q-dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-range, .q-dark div .q-calendar-scheduler__day--resource.q-range__section.q-range-first, .q-dark div .q-calendar-scheduler__day--resource.q-range__section.q-range-last, .q-dark div .q-calendar-scheduler__day--resource.q-range__section.q-range,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-range-first,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-range-last,
.body--dark div .q-calendar-scheduler__day--resource.q-range-first__section.q-range,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-range-first,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-range-last,
.body--dark div .q-calendar-scheduler__day--resource.q-range-last__section.q-range,
.body--dark div .q-calendar-scheduler__day--resource.q-range__section.q-range-first,
.body--dark div .q-calendar-scheduler__day--resource.q-range__section.q-range-last,
.body--dark div .q-calendar-scheduler__day--resource.q-range__section.q-range,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first__section.q-range-first,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first__section.q-range-last,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-first__section.q-range,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last__section.q-range-first,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last__section.q-range-last,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range-last__section.q-range,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range__section.q-range-first,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range__section.q-range-last,
.q-calendar--dark .q-calendar-scheduler__day--resource.q-range__section.q-range {
  color: var(--calendar-range-color-dark);
  background: var(--calendar-range-background-dark);
}
.q-dark div .q-calendar-scheduler .q-calendar__child--expanded > .q-calendar-scheduler__resource--row,
.body--dark div .q-calendar-scheduler .q-calendar__child--expanded > .q-calendar-scheduler__resource--row,
.q-calendar--dark .q-calendar-scheduler .q-calendar__child--expanded > .q-calendar-scheduler__resource--row {
  border-top: var(--calendar-border-dark) !important;
}
/* Overlay */
.global-loader-overlay[data-v-a19408c9] {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 18, 0.45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

/* Card */
.global-loader-container[data-v-a19408c9] {
  background: #ffffff;
  border-radius: 20px;
  overflow: hidden;
  padding: 2rem 2.5rem 1.75rem;
  text-align: center;
  min-width: 200px;
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.1),
    0 24px 56px rgba(46, 125, 50, 0.14);
}

/* Top accent bar (matches login card) */
.accent-bar[data-v-a19408c9] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #1b5e20 0%, #43a047 50%, #81c784 100%);
  margin: -2rem -2.5rem 0;
}

/* SVG spinner */
.spinner-wrap[data-v-a19408c9] {
  display: flex;
  justify-content: center;
  margin-bottom: 1.25rem;
}
.spinner-svg[data-v-a19408c9] {
  width: 52px;
  height: 52px;
  animation: spin-a19408c9 1.6s linear infinite;
}
.spinner-track[data-v-a19408c9] {
  fill: none;
  stroke: #e8f5e9;
  stroke-width: 4;
}
.spinner-arc[data-v-a19408c9] {
  fill: none;
  stroke: url(#spinnerGrad);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 138;
  stroke-dashoffset: 104;
  animation: arc-dash-a19408c9 1.6s ease-in-out infinite;
}
@keyframes spin-a19408c9 {
to { transform: rotate(360deg);
}
}
@keyframes arc-dash-a19408c9 {
0%   { stroke-dashoffset: 115;
}
50%  { stroke-dashoffset: 28;
}
100% { stroke-dashoffset: 115;
}
}

/* Message */
.loading-message[data-v-a19408c9] {
  color: #444;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.3px;
}

/* Fade transition */
.fade-enter-active[data-v-a19408c9],
.fade-leave-active[data-v-a19408c9] {
  transition: opacity 0.2s ease;
}
.fade-enter-from[data-v-a19408c9],
.fade-leave-to[data-v-a19408c9] {
  opacity: 0;
}

/* ─── Dark Mode ─── */
.body--dark .global-loader-overlay[data-v-a19408c9] {
  background: rgba(0, 0, 0, 0.6);
}
.body--dark .global-loader-container[data-v-a19408c9] {
  background: #232527;
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.3),
    0 8px 24px rgba(0, 0, 0, 0.5),
    0 24px 56px rgba(0, 0, 0, 0.4);
}
.body--dark .spinner-track[data-v-a19408c9] {
  stroke: rgba(46, 125, 50, 0.2);
}
.body--dark .loading-message[data-v-a19408c9] {
  color: #94a3b8;
}
