.rdp{--brand-primary:hsl(260 77% 42%);--brand-primary-light:hsl(260 77% 95%);--brand-primary-hover:hsl(260 77% 38%);--brand-secondary:hsl(44 97% 53%);--brand-secondary-light:hsl(44 97% 95%);--calendar-cell-size:40px;--calendar-radius:8px;--calendar-shadow:0 4px 12px rgba(0,0,0,0.05);background-color:hsl(var(--background));border-radius:.5rem;box-shadow:var(--calendar-shadow);border:1px solid hsl(var(--border));padding:.75rem}.dark .rdp,.rdp{color:hsl(var(--foreground))}.dark .rdp{--brand-primary:hsl(260 77% 55%);--brand-primary-light:hsl(260 77% 15%);--brand-primary-hover:hsl(260 77% 60%);--brand-secondary:hsl(44 97% 60%);--brand-secondary-light:hsl(44 97% 15%);--calendar-shadow:0 4px 12px rgba(0,0,0,0.4);background-color:hsl(var(--surface));border-color:hsl(var(--border-strong))}.rdp-nav{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0}.rdp-nav_button{border-radius:9999px;padding:.5rem;color:hsl(var(--foreground));transition:all .2s}.rdp-nav_button:hover{background-color:hsl(var(--muted))}.rdp-nav_button:disabled{opacity:.5;cursor:not-allowed}.rdp-months{display:grid}.rdp-month{margin:.5rem 0}.rdp-month_name{font-weight:600;font-size:1rem;color:hsl(var(--foreground));text-align:center;margin-bottom:.5rem}.rdp-table{border-collapse:separate;border-spacing:2px}.rdp-head_cell{color:hsl(var(--text-secondary));padding:.5rem 0}.rdp-day{width:var(--calendar-cell-size);height:var(--calendar-cell-size);font-size:.875rem;border-radius:var(--calendar-radius);transition:all .2s;color:hsl(var(--foreground));background:none;border:none}.rdp-day:not(.rdp-day_disabled):hover{background-color:hsl(var(--primary-50));color:hsl(var(--primary))}.rdp-day_selected{background-color:var(--brand-primary)!important;color:white!important;font-weight:600}.rdp-day_selected:hover{background-color:var(--brand-primary-hover)!important}.rdp-day_today:not(.rdp-day_selected){border:2px solid var(--brand-primary)}.rdp-day_outside{color:hsl(var(--text-disabled));opacity:.7}.rdp-day_disabled{color:hsl(var(--text-disabled));opacity:.6;cursor:not-allowed}.rdp-day[data-availability=available]:after{background-color:var(--brand-secondary)}.rdp-day[data-availability=available]:after,.rdp-day[data-availability=busy]:after{content:"";position:absolute;bottom:.25rem;left:50%;transform:translateX(-50%);width:.375rem;height:.375rem;border-radius:9999px}.rdp-day[data-availability=busy]:after{background-color:hsl(var(--warning)/.8)}.dark .rdp-day:not(.rdp-day_disabled):hover{background-color:hsl(var(--primary-900)/.2)}.dark .rdp-day_selected{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important}.dark .rdp-day_today:not(.rdp-day_selected){border-color:hsl(var(--primary-400))}@media (min-width:640px){.rdp{--calendar-cell-size:44px}}.rdp-day,.rdp-nav_button{transition:transform .2s ease,background-color .2s ease}.rdp-day:hover:not(.rdp-day_disabled),.rdp-nav_button:hover:not(:disabled){transform:scale(1.05)}.rdp-day_selected:hover{transform:none}.modern-day-selected{background-color:rgb(59,130,246);color:white;box-shadow:0 2px 8px rgba(59,130,246,.3)}.modern-day-selected:hover{background-color:rgb(37,99,235)}.modern-day-today{background-color:rgba(59,130,246,.1);border:2px solid rgb(14,165,233);font-weight:600}.modern-day-outside{color:rgb(156,163,175);opacity:.5}.calendar-container .day-high-availability:after,.calendar-container [data-high-availability]:after,.calendar-container [data-selected].day-high-availability:after,.calendar-container [role=gridcell].day-high-availability:after,.calendar-container button.day-high-availability:after,button.day-high-availability:after,button[data-high-availability]:after{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background-color:#22c55e!important;transition:all .2s ease;z-index:1000;display:block!important;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.2)}@media (min-width:640px){.calendar-container .day-high-availability:after,.calendar-container [data-high-availability]:after,.calendar-container [data-selected].day-high-availability:after,.calendar-container [role=gridcell].day-high-availability:after,.calendar-container button.day-high-availability:after,button.day-high-availability:after,button[data-high-availability]:after{bottom:3px;width:10px;height:10px}}.calendar-container .day-low-availability:after,.calendar-container [data-low-availability]:after,.calendar-container [data-selected].day-low-availability:after,.calendar-container [role=gridcell].day-low-availability:after,.calendar-container button.day-low-availability:after,button.day-low-availability:after,button[data-low-availability]:after{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background-color:#eab308!important;transition:all .2s ease;z-index:1000;display:block!important;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.2)}@media (min-width:640px){.calendar-container .day-low-availability:after,.calendar-container [data-low-availability]:after,.calendar-container [data-selected].day-low-availability:after,.calendar-container [role=gridcell].day-low-availability:after,.calendar-container button.day-low-availability:after,button.day-low-availability:after,button[data-low-availability]:after{bottom:3px;width:10px;height:10px}}.calendar-container .day-high-availability:hover:after{transform:translateX(-50%) scale(1.2);box-shadow:0 2px 6px rgba(34,197,94,.4)}.calendar-container .day-low-availability:hover:after{transform:translateX(-50%) scale(1.2);box-shadow:0 2px 6px rgba(234,179,8,.4)}.calendar-container td{text-align:center;padding:1px}@media (min-width:640px){.calendar-container td{padding:2px}}.calendar-container .nav-button{transition:all .2s ease}.calendar-container .nav-button:hover{transform:scale(1.1);background-color:rgba(59,130,246,.1)}.calendar-header{text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}@media (min-width:640px){.calendar-header{font-size:.875rem}}@keyframes pulse-availability{0%,to{opacity:1}50%{opacity:.7}}.calendar-container[data-loading=true] .modern-day{animation:pulse-availability 1.5s ease-in-out infinite}.calendar-container button:focus-visible{outline:2px solid rgb(59,130,246);outline-offset:2px}@media (max-width:639px){.calendar-container button{min-height:44px;min-width:44px}}.calendar-container .modern-day,.calendar-container .rdp-day,.calendar-container button,.calendar-container button[role=gridcell]{position:relative!important}.calendar-container td{position:relative}button.day-high-availability:hover:after,button.day-low-availability:hover:after,button[data-high-availability]:hover:after,button[data-low-availability]:hover:after{transform:translateX(-50%) scale(1.2);opacity:.9}button.day-high-availability:after{background-color:#22c55e}button.day-low-availability:after{background-color:#eab308}button:hover.day-high-availability:after,button:hover.day-low-availability:after{transform:translateX(-50%) scale(1.3)}.calendar-container{--calendar-padding:16px;--calendar-border-radius:12px;--calendar-cell-size:40px;--calendar-font-size:0.9rem;background:white;border-radius:var(--calendar-border-radius);box-shadow:0 4px 12px rgba(0,0,0,.05);padding:var(--calendar-padding);overflow:hidden;transition:all .2s ease;width:100%}.calendar-container table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:2px}.calendar-container thead{display:table-header-group}.calendar-container tbody{display:table-row-group}.calendar-container tr{display:table-row}.calendar-container td,.calendar-container th{display:table-cell;text-align:center;width:calc(100% / 7);padding:0}.calendar-container table tr{display:grid;grid-template-columns:repeat(7,1fr)}.modern-day{font-weight:500;transition:all .2s ease;border-radius:50%;display:flex;justify-content:center;align-items:center;margin:2px auto;width:var(--calendar-cell-size);height:var(--calendar-cell-size);position:relative}.rdp-cell{height:auto}.modern-day:hover{background-color:#f9f9f9;transform:scale(1.05)}.modern-day-selected{background-color:#0284c7!important;color:white!important}.modern-day-today{border:2px solid #0284c7;font-weight:700}.modern-day-outside{opacity:.3}.calendar-header{font-weight:600;font-size:calc(var(--calendar-font-size) + .1rem);padding:8px 0;color:#4b5563}.calendar-container .modern-day-selected,.calendar-container .rdp-day_selected,.calendar-container [aria-selected=true].modern-day,.calendar-container [data-selected].modern-day,.calendar-container button.modern-day-selected,button.modern-day-selected,button.rdp-day_selected.modern-day,button[aria-selected=true].modern-day,button[data-selected].modern-day{background-color:#4f46e5!important;color:#ffffff!important;font-weight:600!important;border:2px solid #4f46e5!important;box-shadow:none!important;outline:none!important;transform:scale(1.05)!important}.calendar-container .modern-day-selected:hover,.calendar-container .rdp-day_selected:hover,.calendar-container [aria-selected=true].modern-day:hover,.calendar-container [data-selected].modern-day:hover,.calendar-container button.modern-day-selected:hover,button.modern-day-selected:hover,button.rdp-day_selected.modern-day:hover,button[aria-selected=true].modern-day:hover,button[data-selected].modern-day:hover{background-color:#4338ca!important;color:#ffffff!important;border-color:#4338ca!important;box-shadow:none!important;outline:none!important;transform:scale(1.1)!important}.calendar-container .modern-day-selected:focus,.calendar-container .rdp-day_selected:focus,.calendar-container [aria-selected=true].modern-day:focus,.calendar-container [data-selected].modern-day:focus,.calendar-container button.modern-day-selected:focus,button.modern-day-selected:focus,button.rdp-day_selected.modern-day:focus,button[aria-selected=true].modern-day:focus,button[data-selected].modern-day:focus{background-color:#4f46e5!important;color:#ffffff!important;border-color:#4f46e5!important;box-shadow:none!important;outline:none!important}.calendar-container .rdp-day,.calendar-container .rdp-day:focus,.calendar-container [role=gridcell],.calendar-container [role=gridcell]:focus,.calendar-container button,.calendar-container button:focus{box-shadow:none!important;outline:none!important}.calendar-container .modern-day-selected.modern-day-today{background-color:#4f46e5!important;color:#ffffff!important;border-color:#4f46e5!important;box-shadow:none!important}.calendar-container .rdp-day[aria-selected=true],.calendar-container .rdp-day_selected,.calendar-container [aria-selected=true],.calendar-container button.rdp-day[aria-selected=true],.calendar-container button.rdp-day_selected,.calendar-container button[aria-selected=true]{background-color:#4f46e5!important;color:#ffffff!important;font-weight:600!important;border:2px solid #4f46e5!important;box-shadow:0 4px 12px rgba(79,70,229,.3)!important;transform:scale(1.05)!important;outline:none!important}.calendar-container .rdp-day[aria-selected=true]:hover,.calendar-container .rdp-day_selected:hover,.calendar-container [aria-selected=true]:hover,.calendar-container button.rdp-day[aria-selected=true]:hover,.calendar-container button.rdp-day_selected:hover,.calendar-container button[aria-selected=true]:hover{background-color:#4338ca!important;border-color:#4338ca!important;transform:scale(1.1)!important}.calendar-container .rdp-day[data-today=true]:not([aria-selected=true]),.calendar-container .rdp-day_today:not(.rdp-day_selected),.calendar-container [aria-selected=false][data-today=true],.calendar-container button[aria-selected=false][data-today=true]{border:2px solid #4f46e5!important;color:#4f46e5!important;background-color:rgba(79,70,229,.1)!important;font-weight:600!important}.calendar-container button{position:relative!important}.calendar-container button:after{content:attr(aria-selected);position:absolute;top:-2px;right:-2px;font-size:8px;background:red;color:white;padding:1px 2px;border-radius:2px;pointer-events:none;z-index:1000}.rdp{--rdp-cell-size:40px;margin:0;width:100%}.rdp-months{display:flex;flex-wrap:wrap;justify-content:center;width:100%}.rdp-month{margin:0;width:100%}.rdp-table{border-collapse:collapse}.rdp-table,.rdp-with-weeknumbers .rdp-table{width:100%;max-width:100%}.rdp-caption{display:flex;align-items:center;justify-content:space-between;padding:0;text-align:left}.rdp-multiple_months .rdp-caption{position:relative;display:block;text-align:center}.rdp-caption_dropdowns,.rdp-caption_label{position:relative;display:inline-flex}.rdp-caption_label{z-index:1;align-items:center;margin:0;padding:0 .25em;white-space:nowrap;color:currentColor;border:0;border-radius:.5rem;font-family:inherit;font-size:1rem;font-weight:700}.rdp-head{border:0}.rdp-head_row,.rdp-row{display:flex;width:100%;height:100%}.rdp-head_cell{width:calc(100% / 7);text-align:center;color:var(--text-muted);font-size:.875rem;font-weight:500;padding-top:.5rem;padding-bottom:.5rem}.rdp-tbody{border:0}.rdp-tfoot{margin:.5em}.rdp-cell{width:calc(100% / 7);height:var(--rdp-cell-size);padding:0;text-align:center}.rdp-weeknumber{font-size:.75em}.rdp-day{width:var(--rdp-cell-size);height:var(--rdp-cell-size);margin:0 auto;display:flex;justify-content:center;align-items:center;border-radius:50%;cursor:pointer;position:relative;color:var(--text)}.rdp-day_outside{opacity:.5}.rdp-day_selected{background-color:var(--highlight);color:white;font-weight:700}.rdp-day_disabled{opacity:.5;cursor:default}.rdp-nav_button{width:2rem;height:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:currentColor}.calendar-root{--brand-primary:hsl(260 77% 42%);--brand-primary-light:hsl(260 77% 95%);--brand-primary-hover:hsl(260 77% 38%);--brand-secondary:hsl(44 97% 53%);--brand-secondary-light:hsl(44 97% 95%);--calendar-cell-size:40px;--calendar-radius:8px;--calendar-shadow:0 4px 12px rgba(0,0,0,0.05)}.dark .calendar-root{--calendar-shadow:0 4px 12px rgba(0,0,0,0.2)}.calendar-container{border-radius:var(--radius);border-width:1px;background-color:hsl(var(--background));padding:.75rem;--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--calendar-shadow)}.calendar-nav{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.calendar-nav button{border-radius:9999px;padding:.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.calendar-nav button:hover{background-color:hsl(var(--muted))}.calendar-day-names,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.calendar-day-names{margin-bottom:.5rem}.calendar-day-name{text-align:center;line-height:1.25rem;font-weight:500;color:hsl(var(--muted-foreground));line-height:var(--calendar-cell-size)}.calendar-day,.calendar-day-name{font-size:.875rem;height:var(--calendar-cell-size)}.calendar-day{position:relative;display:flex;align-items:center;justify-content:center;line-height:1.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;width:var(--calendar-cell-size);border-radius:var(--calendar-radius)}.calendar-day:not(.calendar-day-disabled):hover{background-color:hsl(var(--primary-50));color:hsl(var(--primary))}.calendar-day-selected{background-color:var(--brand-primary)!important;font-weight:600}.calendar-day-selected,.calendar-day-selected:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.calendar-day-selected:hover{background-color:var(--brand-primary-hover)!important}.calendar-day-today:not(.calendar-day-selected){border-width:2px;border-color:var(--brand-primary)}.calendar-day-disabled,.calendar-day-outside{color:hsl(var(--muted-foreground));opacity:.5}.calendar-day-disabled{cursor:not-allowed}.calendar-day-available:after{background-color:var(--brand-secondary)}.calendar-day-available:after,.calendar-day-busy:after{content:"";position:absolute;bottom:.25rem;left:50%;height:.375rem;width:.375rem;--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px}.calendar-day-busy:after{background-color:hsl(var(--warning)/.8)}.dark .calendar-container{border-color:hsl(var(--surface-variant));background-color:hsl(var(--surface))}.dark .calendar-day:not(.calendar-day-disabled):hover{background-color:hsl(var(--primary-900)/.2)}.dark .calendar-day-selected{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.dark .calendar-day-today:not(.calendar-day-selected){border-color:hsl(var(--primary-400))}@media (min-width:640px){.calendar-root{--calendar-cell-size:44px}}.dark .bg-pattern{background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zM36 0V4h-2V0h-4v2h4v4h2V2h4V0h-4zM0 34v-4h4v4h4v2H4v4H0v-4H4v-2H0zM0 0h4v4H0v2h4v4h2V2h4V0H4z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.opacity-accessible{opacity:.8}.dark .opacity-accessible{opacity:.9}.bg-brand-with-opacity{background-color:hsl(var(--primary)/.15)}.dark .bg-brand-with-opacity{background-color:hsl(var(--primary)/.25)}.text-brand-with-opacity{color:hsl(var(--primary)/.8)}.dark .text-brand-with-opacity{color:hsl(var(--primary)/.95)}.text-high-contrast{color:hsl(var(--text-primary))!important}.text-medium-contrast{color:hsl(var(--text-secondary))!important}.text-low-contrast{color:hsl(var(--text-tertiary))!important}.bg-accessible-subtle{background-color:hsl(var(--surface))}.bg-accessible-variant{background-color:hsl(var(--surface-variant))}.hover-accessible{transition:all .2s ease}.hover-accessible:hover{background-color:hsl(var(--surface-variant));color:hsl(var(--text-primary))}.dark .hover-accessible:hover{background-color:hsl(var(--surface-container));color:hsl(var(--text-primary))}.btn-accessible{min-height:44px;min-width:44px;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;transition:all .2s ease;border:2px solid transparent}.btn-accessible:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.input-accessible{min-height:44px;padding:.75rem 1rem;border:2px solid hsl(var(--input-border));background-color:hsl(var(--input));color:hsl(var(--foreground));border-radius:.5rem;transition:all .2s ease}.input-accessible:focus{border-color:hsl(var(--input-focus));outline:none;box-shadow:0 0 0 3px hsl(var(--input-focus)/.2)}.dark .input-accessible{border-color:hsl(var(--input-border));background-color:hsl(var(--input))}.dark .input-accessible:focus{border-color:hsl(var(--input-focus));box-shadow:0 0 0 3px hsl(var(--input-focus)/.3)}.link-accessible{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px;text-decoration-color:hsl(var(--primary)/.3);transition:all .2s ease}.link-accessible:hover{color:hsl(var(--primary-hover));text-decoration-color:hsl(var(--primary-hover))}.link-accessible:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:.25rem}.card-accessible{background-color:hsl(var(--card));color:hsl(var(--card-foreground));border:1px solid hsl(var(--border));border-radius:.75rem;transition:all .2s ease}.card-accessible:hover{background-color:hsl(var(--card-hover));border-color:hsl(var(--border-strong))}.nav-accessible{color:hsl(var(--foreground));text-decoration:none;padding:.5rem 1rem;border-radius:.5rem;transition:all .2s ease;min-height:44px;display:flex;align-items:center}.nav-accessible:hover{background-color:hsl(var(--surface-variant));color:hsl(var(--primary))}.nav-accessible.active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.nav-accessible:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.calendar-accessible .rdp-day{color:hsl(var(--foreground))!important;min-height:44px;min-width:44px}.calendar-accessible .rdp-day:hover{background-color:hsl(var(--surface-variant))!important}.calendar-accessible .rdp-day_selected{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important}.calendar-accessible .rdp-day_today{border:2px solid hsl(var(--primary))!important}.calendar-accessible .rdp-day_disabled{color:hsl(var(--text-disabled))!important;opacity:.6}.status-available{color:hsl(var(--success));background-color:hsl(var(--success)/.1);border-color:hsl(var(--success)/.3)}.status-busy{color:hsl(var(--warning));background-color:hsl(var(--warning)/.1);border-color:hsl(var(--warning)/.3)}.status-error{color:hsl(var(--error));background-color:hsl(var(--error)/.1);border-color:hsl(var(--error)/.3)}:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}@media (max-width:768px){[tabindex]:not([tabindex="-1"]),a[href],button,input,select,textarea{min-height:44px;min-width:44px}}