:root{--color-surface:#fff;--color-surface-muted:#F7F7F8;--color-surface-hover:#f9fafb;--color-surface-elevated:#fff;--color-text-primary:#111827;--color-text-secondary:#4b5563;--color-text-muted:#9ca3af;--color-text-disabled:#d1d5db;--color-text-inverse:#fff;--color-border:#e5e7eb;--color-border-light:#f3f4f6;--color-border-focus:#60a5fa;--color-accent:#10B981;--color-accent-light:#ECFDF5;--color-accent-lighter:#F0FDF9;--color-accent-dark:#059669;--color-accent-contrast:#fff;--color-focus-ring:#3b82f6;--color-danger:#ef4444;--color-warning:#f59e0b;--color-success:var(--color-accent);--color-today-bg:#fffbeb;--color-today-border:#fbbf24;--color-range-bg:var(--color-accent-light);--color-range-border:var(--color-accent);--color-unavailable-bg:#f9fafb;--color-unavailable-text:var(--color-text-disabled);--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--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;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--calendar-cell-size-desktop:2.75rem;--calendar-cell-size-mobile:2.25rem;--calendar-cell-border-radius:0.5rem;--calendar-range-border-radius:0.75rem;--button-height-sm:2rem;--button-height-md:2.5rem;--button-height-lg:3rem;--transition-duration-fast:150ms;--transition-duration-normal:200ms;--transition-duration-slow:300ms;--transition-timing:cubic-bezier(0.4,0,0.2,1);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-tooltip:1070}.calendar-component{--calendar-header-height:4rem;--calendar-header-padding:var(--space-lg);--mode-button-padding:var(--space-sm) var(--space-md);--mode-button-border-radius:9999px;--day-cell-padding:var(--space-xs);--day-cell-gap:0.125rem;--shift-card-padding:var(--space-md);--shift-card-border-radius:var(--space-sm);--shift-card-border-width:1px;--shift-card-selected-border-width:2px;--pricing-summary-padding:var(--space-md);--pricing-summary-gap:var(--space-sm)}.calendar-day{position:relative;display:flex;align-items:center;justify-content:center;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;width:var(--calendar-cell-size-desktop);height:var(--calendar-cell-size-desktop);border-radius:var(--calendar-cell-border-radius)}.calendar-day--current-month{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.calendar-day--other-month{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.calendar-day--today{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);ring-color:var(--color-today-border);background-color:var(--color-today-bg)}.calendar-day--selected{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background-color:var(--color-accent)}.calendar-day--in-range{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1));background-color:var(--color-range-bg)}.calendar-day--range-start{border-top-right-radius:0;border-bottom-right-radius:0}.calendar-day--range-end,.calendar-day--range-start{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background-color:var(--color-accent)}.calendar-day--range-end{border-top-left-radius:0;border-bottom-left-radius:0}.calendar-day--disabled{cursor:not-allowed;opacity:.5;color:var(--color-text-disabled);background-color:var(--color-unavailable-bg)}.calendar-day--hover:not(.calendar-day--disabled):not(.calendar-day--selected){background-color:var(--color-surface-hover)}.mode-button{padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;border-radius:var(--mode-button-border-radius)}.mode-button--active{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background-color:var(--color-accent)}.mode-button--inactive{border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.mode-button--inactive:hover{background-color:var(--color-accent-light)}.shift-card{cursor:pointer;border-radius:var(--radius);border-width:1px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;padding:var(--shift-card-padding);border-radius:var(--shift-card-border-radius)}.shift-card:hover{box-shadow:var(--shadow-md)}.shift-card--selected{border-color:var(--color-accent);border-width:var(--shift-card-selected-border-width);background-color:var(--color-accent-lighter)}.shift-card--recommended:before{content:"";position:absolute;top:-.5rem;left:1rem;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background-color:var(--color-accent)}.pricing-line{display:flex;align-items:center;justify-content:space-between;padding-top:.25rem;padding-bottom:.25rem}.pricing-line--discount{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.pricing-line--total{border-top-width:1px;padding-top:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;border-color:var(--color-border)}.pricing-total-amount{color:var(--color-accent)}.focus-ring:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px}.focus-ring{--tw-ring-color:var(--color-focus-ring)}@keyframes pulse{50%{opacity:.5}}.loading-shimmer{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:#e5e7eb var(--tw-gradient-from-position);--tw-gradient-to:rgb(229 231 235/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgb(243 244 246/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6 var(--tw-gradient-via-position),var(--tw-gradient-to);--tw-gradient-to:#e5e7eb var(--tw-gradient-to-position)}@media (max-width:768px){.calendar-day{width:var(--calendar-cell-size-mobile);height:var(--calendar-cell-size-mobile)}.calendar-component{--calendar-header-padding:var(--space-md)}.shift-card{--shift-card-padding:var(--space-sm)}}@media (prefers-contrast:high){:root{--color-border:#000;--color-text-muted:#4b5563}.calendar-day--selected{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity,1))}}@media (prefers-reduced-motion:reduce){.calendar-day,.mode-button,.shift-card{transition-property:none}}@media (prefers-color-scheme:dark){:root{--color-surface:#111827;--color-surface-muted:#1f2937;--color-surface-hover:#374151;--color-text-primary:#f3f4f6;--color-text-secondary:#d1d5db;--color-text-muted:#6b7280;--color-border:#374151;--color-today-bg:#78350f;--color-range-bg:#064E3B;--color-unavailable-bg:#1f2937}}@media print{.calendar-component{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.calendar-component,.calendar-day--selected{--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.calendar-day--selected{background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.shift-card--selected{border-width:2px;--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}}