@import url(https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&display=swap);
/**
 * HealthKareCMS Design System - Cozy/Warm Aesthetic
 * Soft, inviting design tokens with warm tones and rounded geometry
 */
.opacity-when-hover {
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

.opacity-when-hover:hover {
  opacity: 1;
}

:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-gray-25: #fdfbf7;
  --color-gray-50: #faf7f2;
  --color-gray-100: #f5f0e8;
  --color-gray-200: #e8e2d9;
  --color-gray-300: #d8d3d0;
  --color-gray-400: #a59a92;
  --color-gray-500: #8a7f76;
  --color-gray-600: #6b5f54;
  --color-gray-700: #5a4e44;
  --color-gray-800: #48342a;
  --color-gray-900: #3a2a20;
  --color-primary-25: #f4fbf7;
  --color-primary-50: #e8f7ef;
  --color-primary-100: #d5f0e2;
  --color-primary-200: #badecd;
  --color-primary-300: #9fcfb5;
  --color-primary-400: #7fbe9a;
  --color-primary-500: #5fad7f;
  --color-primary-600: #4a9568;
  --color-primary-700: #3d7a55;
  --color-primary-800: #326044;
  --color-primary-900: #264835;
  --color-secondary-25: #fffdf5;
  --color-secondary-50: #fffaeb;
  --color-secondary-100: #fff5d6;
  --color-secondary-200: #ffe488;
  --color-secondary-300: #ffd966;
  --color-secondary-400: #ffcc33;
  --color-secondary-500: #e6b800;
  --color-secondary-600: #cc9f00;
  --color-secondary-700: #a68200;
  --color-secondary-800: #806600;
  --color-secondary-900: #594900;
  --color-semantic-vacancy: #7fbe9a;
  --color-semantic-scheduled: #7eb3d9;
  --color-semantic-completed: #a59a92;
  --color-semantic-cancelled: #e88b8b;
  --color-semantic-consulting: #ffe488;
  --color-category-work: #7eb3d9;
  --color-category-personal: #ffb366;
  --color-category-team: #b8a3d9;
  --color-category-core: #7fbe9a;
  --color-category-kids: #e88b8b;
  --color-category-holidays: #a59a92;
  --color-bg-primary: #fdfbf7;
  --color-bg-secondary: #faf7f2;
  --color-bg-tertiary: #f5f0e8;
  --color-bg-subtle: #fefcf9;
  --color-bg-hover: #f5f0e8;
  --color-bg-selected: #e8f7ef;
  --color-bg-overlay: rgba(72, 52, 42, 0.1);
  --color-border-light: #f5f0e8;
  --color-border-medium: #e8e2d9;
  --color-border-strong: #d8d3d0;
  --color-border-focus: #badecd;
  --color-border-hover: #d8d3d0;
  --color-text-primary: #48342a;
  --color-text-secondary: #6b5f54;
  --color-text-tertiary: #a59a92;
  --color-text-disabled: #d8d3d0;
  --color-text-inverse: #fdfbf7;
  --color-text-link: #5fad7f;
  --color-text-success: #4a9568;
  --color-text-warning: #cc9f00;
  --color-text-error: #c74a4a;
  --font-family-sans: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-family-mono:
  	"SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;
  --font-size-2xs: 0.625rem;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-2xs: 0.875rem;
  --line-height-xs: 1rem;
  --line-height-sm: 1.25rem;
  --line-height-base: 1.5rem;
  --line-height-lg: 1.75rem;
  --line-height-xl: 1.75rem;
  --line-height-2xl: 2rem;
  --line-height-3xl: 2.25rem;
  --line-height-4xl: 2.5rem;
  --spacing-0: 0px;
  --spacing-0-5: 0.125rem;
  --spacing-1: 0.25rem;
  --spacing-1-5: 0.375rem;
  --spacing-2: 0.5rem;
  --spacing-2-5: 0.625rem;
  --spacing-3: 0.75rem;
  --spacing-3-5: 0.875rem;
  --spacing-4: 1rem;
  --spacing-5: 1.25rem;
  --spacing-6: 1.5rem;
  --spacing-7: 1.75rem;
  --spacing-8: 2rem;
  --spacing-9: 2.25rem;
  --spacing-10: 2.5rem;
  --spacing-11: 2.75rem;
  --spacing-12: 3rem;
  --spacing-14: 3.5rem;
  --spacing-16: 4rem;
  --spacing-20: 5rem;
  --spacing-24: 6rem;
  --border-radius-none: 0;
  --border-radius-xs: 0.25rem;
  --border-radius-sm: 0.5rem;
  --border-radius-base: 0.75rem;
  --border-radius-md: 1rem;
  --border-radius-lg: 1.25rem;
  --border-radius-xl: 1.5rem;
  --border-radius-2xl: 2rem;
  --border-radius-3xl: 2.5rem;
  --border-radius-full: 9999px;
  --border-radius-menu: 0.75rem;
  --border-radius-input: 0.75rem;
  --border-radius-card: 1.5rem;
  --shadow-xs: 0 1px 2px 0 rgba(72, 52, 42, 0.04);
  --shadow-sm: 0 2px 4px 0 rgba(72, 52, 42, 0.06), 0 1px 2px 0 rgba(72, 52, 42, 0.04);
  --shadow-base: 0 4px 8px -2px rgba(72, 52, 42, 0.08), 0 2px 4px -1px rgba(72, 52, 42, 0.04);
  --shadow-md: 0 8px 16px -4px rgba(72, 52, 42, 0.1), 0 4px 6px -2px rgba(72, 52, 42, 0.05);
  --shadow-lg: 0 16px 32px -8px rgba(72, 52, 42, 0.12), 0 8px 12px -4px rgba(72, 52, 42, 0.06);
  --shadow-xl: 0 24px 48px -12px rgba(72, 52, 42, 0.18);
  --shadow-inner: inset 0 2px 4px 0 rgba(72, 52, 42, 0.05);
  --shadow-focus: 0 0 0 3px rgba(186, 222, 205, 0.4);
  --shadow-focus-error: 0 0 0 3px rgba(199, 74, 74, 0.2);
  --z-index-hide: -1;
  --z-index-auto: auto;
  --z-index-base: 0;
  --z-index-docked: 10;
  --z-index-dropdown: 1000;
  --z-index-sticky: 1020;
  --z-index-banner: 1030;
  --z-index-overlay: 1040;
  --z-index-modal: 1050;
  --z-index-popover: 1060;
  --z-index-tooltip: 1070;
  --z-index-toast: 1080;
  --z-index-loading: 1090;
}

[data-theme=dark] {
  --color-bg-primary: #2a2420;
  --color-bg-secondary: #3a332d;
  --color-bg-tertiary: #4a423a;
  --color-bg-subtle: #1e1a17;
  --color-bg-hover: #3a332d;
  --color-bg-selected: #2a3d32;
  --color-bg-overlay: rgba(0, 0, 0, 0.5);
  --color-border-light: #3a332d;
  --color-border-medium: #4a423a;
  --color-border-strong: #5a524a;
  --color-border-focus: #7fbe9a;
  --color-border-hover: #4a423a;
  --color-text-primary: #f5f0e8;
  --color-text-secondary: #d8d3d0;
  --color-text-tertiary: #a59a92;
  --color-text-disabled: #5a524a;
  --color-text-inverse: #2a2420;
  --color-text-link: #9fcfb5;
  --color-text-success: #7fbe9a;
  --color-text-warning: #ffd966;
  --color-text-error: #e88b8b;
  --color-primary-50: #1e2a22;
  --color-primary-100: #264835;
  --color-primary-200: #326044;
  --color-primary-300: #3d7a55;
  --color-primary-400: #5fad7f;
  --color-primary-500: #7fbe9a;
  --color-primary-600: #9fcfb5;
  --color-primary-700: #badecd;
  --color-primary-800: #d5f0e2;
  --color-primary-900: #e8f7ef;
  --color-semantic-vacancy: #7fbe9a;
  --color-semantic-scheduled: #8ec4e8;
  --color-semantic-completed: #a59a92;
  --color-semantic-cancelled: #e88b8b;
  --color-semantic-consulting: #ffd966;
  --color-category-work: #8ec4e8;
  --color-category-personal: #ffcc80;
  --color-category-team: #c9b8e8;
  --color-category-core: #7fbe9a;
  --color-category-kids: #e88b8b;
  --color-category-holidays: #a59a92;
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
  --shadow-sm: 0 2px 4px 0 rgba(0, 0, 0, 0.3), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
  --shadow-base: 0 4px 8px -2px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 8px 16px -4px rgba(0, 0, 0, 0.35), 0 4px 6px -2px rgba(0, 0, 0, 0.2);
  --shadow-lg: 0 16px 32px -8px rgba(0, 0, 0, 0.4), 0 8px 12px -4px rgba(0, 0, 0, 0.2);
  --shadow-xl: 0 24px 48px -12px rgba(0, 0, 0, 0.5);
  --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.2);
  --shadow-focus: 0 0 0 3px rgba(127, 190, 154, 0.3);
  --shadow-focus-error: 0 0 0 3px rgba(232, 139, 139, 0.2);
}

* {
  box-sizing: border-box;
}

body {
  font-family: var(--font-family-sans);
  line-height: 1.2;
  color: var(--color-text-primary);
  background-color: var(--color-bg-primary);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "cv11", "ss01";
  font-variant-numeric: tabular-nums;
}

.text-2xs {
  font-size: var(--font-size-2xs);
  line-height: var(--line-height-2xs);
}

.text-xs {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
}

.text-sm {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}

.text-base {
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
}

.text-lg {
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
}

.text-xl {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
}

.text-2xl {
  font-size: var(--font-size-2xl);
  line-height: var(--line-height-2xl);
}

.text-3xl {
  font-size: var(--font-size-3xl);
  line-height: var(--line-height-3xl);
}

.text-4xl {
  font-size: var(--font-size-4xl);
  line-height: var(--line-height-4xl);
}

.font-normal {
  font-weight: var(--font-weight-normal);
}

.font-medium {
  font-weight: var(--font-weight-medium);
}

.font-semibold {
  font-weight: var(--font-weight-semibold);
}

.font-bold {
  font-weight: var(--font-weight-bold);
}

.text-primary {
  color: var(--color-text-primary);
}

.text-secondary {
  color: var(--color-text-secondary);
}

.text-tertiary {
  color: var(--color-text-tertiary);
}

.text-success {
  color: var(--color-text-success);
}

.text-warning {
  color: var(--color-text-warning);
}

.text-error {
  color: var(--color-text-error);
}

.container-spacious {
  padding: var(--spacing-12);
}

.container-comfortable {
  padding: var(--spacing-8);
}

.container-medium {
  padding: var(--spacing-6);
}

.container-compact {
  padding: var(--spacing-4);
}

.calendar-notion-container {
  background: var(--color-bg-primary);
  border-radius: var(--border-radius-card);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-medium);
  overflow: hidden;
  font-family: var(--font-family-sans);
}
.calendar-notion-header {
  padding: var(--spacing-6);
  background: var(--color-bg-primary);
  border-bottom: 1px solid var(--color-border-light);
}
.calendar-notion-header .header-title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0;
  letter-spacing: -0.015em;
}
.calendar-notion-event {
  padding: var(--spacing-2) var(--spacing-3);
  margin-bottom: var(--spacing-1);
  border-radius: var(--border-radius-md);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}
.calendar-notion-event:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
.calendar-notion-event.vacancy {
  background: var(--color-semantic-vacancy);
  color: var(--color-text-primary);
}
.calendar-notion-event.scheduled {
  background: var(--color-semantic-scheduled);
  color: var(--color-text-primary);
}
.calendar-notion-event.completed {
  background: var(--color-semantic-completed);
  color: var(--color-text-inverse);
}
.calendar-notion-event.cancelled {
  background: var(--color-semantic-cancelled);
  color: var(--color-text-primary);
}
.calendar-notion-event.consulting {
  background: var(--color-semantic-consulting);
  color: var(--color-text-primary);
}
.calendar-notion-grid {
  border: 1px solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  overflow: hidden;
}
.calendar-notion-grid .day-cell {
  border: 1px solid var(--color-border-light);
  background: var(--color-bg-primary);
  padding: var(--spacing-3);
  min-height: 120px;
  transition: all 0.2s ease;
}
.calendar-notion-grid .day-cell:hover {
  background: var(--color-bg-hover);
}
.calendar-notion-grid .day-cell.today {
  background: var(--color-bg-selected);
  border-color: var(--color-primary-200);
}
.calendar-notion-grid .day-cell.today .day-number {
  background: var(--color-primary-200);
  color: var(--color-text-primary);
  border-radius: var(--border-radius-full);
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--font-weight-semibold);
}
.calendar-notion-grid .day-cell .day-number {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-2);
}

.cozy-button,
.notion-button {
  padding: var(--spacing-2-5) var(--spacing-5);
  border: 1px solid var(--color-border-medium);
  border-radius: var(--border-radius-full);
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  cursor: pointer;
  transition: all 0.2s ease;
}
.cozy-button:hover,
.notion-button:hover {
  background: var(--color-bg-secondary);
  border-color: var(--color-border-strong);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}
.cozy-button:focus,
.notion-button:focus {
  outline: none;
  box-shadow: var(--shadow-focus);
}
.cozy-button.primary,
.notion-button.primary {
  background: var(--color-primary-200);
  color: var(--color-text-primary);
  border-color: var(--color-primary-300);
}
.cozy-button.primary:hover,
.notion-button.primary:hover {
  background: var(--color-primary-300);
  border-color: var(--color-primary-400);
}
.cozy-button.secondary,
.notion-button.secondary {
  background: var(--color-secondary-200);
  color: var(--color-text-primary);
  border-color: var(--color-secondary-300);
}
.cozy-button.secondary:hover,
.notion-button.secondary:hover {
  background: var(--color-secondary-300);
  border-color: var(--color-secondary-400);
}

.cozy-card,
.notion-card {
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-medium);
  border-radius: var(--border-radius-card);
  padding: var(--spacing-6);
  box-shadow: var(--shadow-sm);
  transition: all 0.2s ease;
}
.cozy-card:hover,
.notion-card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--color-border-strong);
}
.cozy-card--elevated,
.notion-card--elevated {
  box-shadow: var(--shadow-md);
}
.cozy-card--elevated:hover,
.notion-card--elevated:hover {
  box-shadow: var(--shadow-lg);
}
.cozy-card--small,
.notion-card--small {
  padding: var(--spacing-4);
  border-radius: var(--border-radius-xl);
}

.cozy-input {
  padding: var(--spacing-2-5) var(--spacing-4);
  border: 1px solid var(--color-border-medium);
  border-radius: var(--border-radius-full);
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
  font-size: var(--font-size-sm);
  font-family: var(--font-family-sans);
  transition: all 0.2s ease;
}
.cozy-input::placeholder {
  color: var(--color-text-tertiary);
}
.cozy-input:hover {
  border-color: var(--color-border-strong);
}
.cozy-input:focus {
  outline: none;
  border-color: var(--color-border-focus);
  box-shadow: var(--shadow-focus);
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--color-bg-secondary);
  border-radius: var(--border-radius-full);
}

::-webkit-scrollbar-thumb {
  background: var(--color-border-strong);
  border-radius: var(--border-radius-full);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-tertiary);
}

.q-btn {
  border-radius: var(--border-radius-full) !important;
  font-weight: var(--font-weight-semibold);
  text-transform: none;
  letter-spacing: 0;
}

.q-field--outlined .q-field__control {
  border-radius: var(--border-radius-input) !important;
}

.q-field--filled .q-field__control {
  border-radius: var(--border-radius-input) !important;
}

.q-card {
  border-radius: var(--border-radius-card) !important;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
}

.q-dialog__inner > .q-card {
  border-radius: var(--border-radius-card) !important;
}

.q-menu {
  border-radius: var(--border-radius-menu) !important;
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--color-border-light);
  color: var(--color-text-primary);
}

.q-chip,
.q-badge {
  border-radius: var(--border-radius-full) !important;
}

.q-tab {
  border-radius: var(--border-radius-lg);
}

.q-avatar {
  border-radius: var(--border-radius-full);
}

[data-theme=dark] ::-webkit-scrollbar-thumb {
  background: var(--color-border-strong);
}
[data-theme=dark] ::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
[data-theme=dark] .calendar-notion-grid .day-cell.today .day-number {
  background: var(--color-primary-500);
  color: var(--color-text-inverse);
}
[data-theme=dark] input,
[data-theme=dark] select,
[data-theme=dark] textarea {
  background: var(--color-bg-secondary);
  border-color: var(--color-border-medium);
  color: var(--color-text-primary);
}
[data-theme=dark] input:focus,
[data-theme=dark] select:focus,
[data-theme=dark] textarea:focus {
  border-color: var(--color-border-focus);
  background: var(--color-bg-primary);
  box-shadow: var(--shadow-focus);
}
[data-theme=dark] .q-card,
[data-theme=dark] .q-dialog,
[data-theme=dark] .q-menu {
  box-shadow: var(--shadow-lg);
}

html, body {
  background-color: var(--color-bg-primary) !important;
}

.q-page {
  background-color: var(--color-bg-primary);
}

.q-layout {
  background-color: var(--color-bg-primary);
}

.q-btn {
  border-radius: var(--border-radius-full) !important;
  font-weight: var(--font-weight-semibold);
  text-transform: none;
  letter-spacing: 0.01em;
  transition: box-shadow 0.2s ease, background-color 0.2s ease;
}
.q-btn:hover {
  box-shadow: var(--shadow-sm);
}
.q-btn.all-pointer-events {
  box-shadow: var(--shadow-xs);
  border: 1px solid rgba(72, 52, 42, 0.1);
}
.q-btn.all-pointer-events:hover {
  box-shadow: var(--shadow-md);
}
.q-btn.all-pointer-events.bg-positive {
  background: var(--color-semantic-vacancy) !important;
  color: var(--color-text-primary) !important;
}
.q-btn.all-pointer-events.bg-info {
  background: var(--color-semantic-scheduled) !important;
  color: var(--color-text-primary) !important;
}
.q-btn.all-pointer-events.bg-negative {
  background: var(--color-semantic-cancelled) !important;
  color: var(--color-text-primary) !important;
}
.q-btn.all-pointer-events.bg-warning {
  background: var(--color-semantic-consulting) !important;
  color: var(--color-text-primary) !important;
}

.q-field--outlined .q-field__control {
  border-radius: var(--border-radius-input, 12px) !important;
  border-color: var(--color-border-medium);
  background: var(--color-bg-primary) !important;
  color: var(--color-text-primary) !important;
}
.q-field--outlined .q-field__control:hover {
  border-color: var(--color-border-strong);
}

.q-field--outlined.q-field--focused .q-field__control {
  border-color: var(--color-border-focus) !important;
  box-shadow: var(--shadow-focus);
}

.q-field--filled .q-field__control {
  border-radius: var(--border-radius-input, 12px) !important;
  background: var(--color-bg-secondary);
  color: var(--color-text-primary) !important;
}
.q-field--filled .q-field__control::before {
  border-color: var(--color-border-medium);
}

.q-field .q-field__native,
.q-field .q-field__prefix,
.q-field .q-field__suffix {
  color: var(--color-text-primary) !important;
}

.q-card {
  border-radius: var(--border-radius-card) !important;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-sm);
}

.q-dialog__inner > .q-card {
  border-radius: var(--border-radius-card) !important;
}

.q-menu {
  border-radius: var(--border-radius-menu, 12px) !important;
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--color-border-light);
  background: var(--color-bg-primary);
  color: var(--color-text-primary) !important;
}
.q-menu .q-item {
  color: var(--color-text-primary) !important;
}
.q-menu .q-item .q-item__label {
  color: var(--color-text-primary) !important;
}

.q-header {
  background: var(--color-primary-200) !important;
}
.q-header.bg-secondary {
  background: var(--color-primary-500) !important;
}

.q-drawer {
  background: var(--color-bg-primary);
  border-color: var(--color-border-light);
}

.q-table {
  border-radius: var(--border-radius-xl);
  overflow: hidden;
}
.q-table thead {
  background: var(--color-bg-secondary);
}
.q-table thead th {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-semibold);
}
.q-table tbody tr:hover {
  background: var(--color-bg-hover);
}

.q-chip {
  border-radius: var(--border-radius-full) !important;
}

.q-badge {
  border-radius: var(--border-radius-full) !important;
}

.q-tab {
  border-radius: var(--border-radius-lg);
}
.q-tab--active {
  background: var(--color-bg-selected);
}

.q-tabs__content {
  border-radius: var(--border-radius-lg);
}

.q-item {
  border-radius: var(--border-radius-menu, 12px);
  color: var(--color-text-primary) !important;
}
.q-item:hover {
  background: var(--color-bg-hover);
}
.q-item.q-item--active {
  background: var(--color-bg-selected);
}

.q-tooltip {
  border-radius: var(--border-radius-lg) !important;
  background: var(--color-gray-800);
  color: var(--color-text-inverse);
}

.q-notification {
  border-radius: var(--border-radius-xl) !important;
}

.cozy-main-container,
.content-container {
  background: var(--color-bg-primary);
  border-radius: var(--border-radius-3xl);
  padding: 24px;
}

.cozy-empty-state,
.empty-state {
  border: 2px dashed var(--color-border-medium);
  border-radius: 40px;
  background: var(--color-bg-subtle);
  padding: 48px;
  text-align: center;
  color: var(--color-text-secondary);
}
.cozy-empty-state .empty-icon,
.empty-state .empty-icon {
  font-size: 48px;
  color: var(--color-text-tertiary);
  margin-bottom: 16px;
}
.cozy-empty-state .empty-title,
.empty-state .empty-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 8px;
}
.cozy-empty-state .empty-description,
.empty-state .empty-description {
  font-size: 14px;
  color: var(--color-text-secondary);
}

.cozy-primary-btn,
.q-btn.bg-primary,
.q-btn.bg-positive {
  background: var(--color-primary-200) !important;
  color: var(--color-text-primary) !important;
  border-radius: var(--border-radius-full) !important;
  box-shadow: var(--shadow-sm);
  border: none !important;
  font-weight: 600;
}
.cozy-primary-btn:hover,
.q-btn.bg-primary:hover,
.q-btn.bg-positive:hover {
  background: var(--color-primary-300) !important;
  box-shadow: var(--shadow-md);
}

.cozy-secondary-btn,
.q-btn.bg-secondary {
  background: var(--color-secondary-200) !important;
  color: var(--color-text-primary) !important;
  border-radius: var(--border-radius-full) !important;
  box-shadow: var(--shadow-sm);
}
.cozy-secondary-btn:hover,
.q-btn.bg-secondary:hover {
  background: var(--color-secondary-300) !important;
  box-shadow: var(--shadow-md);
}

.cozy-search-input .q-field__control,
.search-input .q-field__control {
  border-radius: var(--border-radius-input) !important;
  border: 1px solid var(--color-border-medium) !important;
  background: var(--color-bg-primary) !important;
  color: var(--color-text-primary) !important;
}
.cozy-search-input .q-field__control:hover,
.search-input .q-field__control:hover {
  border-color: var(--color-border-strong) !important;
}
.cozy-search-input.q-field--focused .q-field__control,
.search-input.q-field--focused .q-field__control {
  border-color: var(--color-primary-300) !important;
  box-shadow: var(--shadow-focus);
}

.cozy-card {
  background: var(--color-white);
  border-radius: var(--border-radius-card);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-sm);
  padding: 20px;
}
.cozy-card--elevated {
  box-shadow: var(--shadow-md);
}
.cozy-card--interactive {
  cursor: pointer;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.cozy-card--interactive:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--color-border-medium);
}

.cozy-section-header {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.cozy-section-header .section-icon {
  color: var(--color-primary-500);
}

.notion-card {
  background: var(--color-white) !important;
  border-radius: var(--border-radius-card) !important;
  border: 1px solid var(--color-border-light) !important;
}
.notion-card--elevated {
  box-shadow: var(--shadow-md) !important;
}

.q-header:not(.mobile-header-clean) {
  background: var(--color-bg-primary) !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--color-border-light);
}

.cozy-header-btn {
  color: var(--color-text-primary) !important;
}
.cozy-header-btn .q-icon {
  color: var(--color-text-primary) !important;
}
.cozy-header-btn:hover {
  background: var(--color-bg-hover) !important;
}

.q-drawer {
  overflow: hidden !important;
}
.q-drawer .q-drawer__content {
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  height: 100%;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.q-drawer .q-drawer__content::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
}

@media print {
  /* Always exclude prescription label templates from print */
  #prescriptionLabel-printing-template,
  #prescriptionLabel-printing-template-chinese,
  [id^=prescriptionLabel-printing-template],
  [id^=prescriptionLabel-printing-template-chinese],
  [id*=prescriptionLabel-printing-template],
  .prescription-label-template {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
  }
  /* Ensure hidden class elements are not printed */
  .hidden {
    display: none !important;
    visibility: hidden !important;
  }
}
