.calendar-container .react-calendar{width:100%;background:white;border:1px solid #e5e7eb;font-family:inherit;line-height:1.125em}.calendar-container .react-calendar--neighboringMonth{visibility:visible}.calendar-container .react-calendar__navigation{display:flex;height:44px;margin-bottom:1em;background:#f8fafc;border-bottom:1px solid #e5e7eb}.calendar-container .react-calendar__navigation button{min-width:44px;background:none;border:none;font-size:16px;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease}.calendar-container .react-calendar__navigation button:hover{background-color:#e5e7eb;color:#1f2937}.calendar-container .react-calendar__navigation button:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.calendar-container .react-calendar__navigation__label{font-weight:700;color:#1f2937}.calendar-container .react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font-weight:700;font-size:.75em;color:#6b7280;background:#f8fafc;border-bottom:1px solid #e5e7eb}.calendar-container .react-calendar__month-view__weekdays__weekday{padding:.75em 0}.calendar-container .react-calendar__month-view__weekdays__weekday abbr{text-decoration:none}.calendar-container .react-calendar__month-view__days__day{position:relative;padding:.75em .5em;background:none;border:none;color:#374151;cursor:pointer;transition:all .2s ease;min-height:3.5rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.calendar-container .react-calendar__month-view__days__day:hover{background-color:#f3f4f6}.calendar-container .react-calendar__month-view__days__day--neighboringMonth{color:#9ca3af}.calendar-container .react-calendar__month-view__days__day--weekend{color:#dc2626}.calendar-container .react-calendar__tile--now{background:#dbeafe;color:#1e40af;font-weight:700}.calendar-container .react-calendar__tile--now:hover{background:#bfdbfe}.calendar-container .react-calendar__tile--active{background:#3b82f6!important;color:white!important;font-weight:700}.calendar-container .react-calendar__tile--active:hover{background:#2563eb!important}.calendar-container .calendar-tile.has-appointments{background-color:#eff6ff;border:2px solid #dbeafe}.calendar-container .calendar-tile.has-appointments:hover{background-color:#dbeafe}.calendar-container .calendar-tile.selected-date.has-appointments{background-color:#3b82f6!important;color:white!important}.appointment-indicator{position:absolute;top:2px;right:2px}.appointment-indicator span{font-size:.6rem;min-width:1rem;height:1rem;display:flex;align-items:center;justify-content:center}.calendar-grid{display:grid;grid-template-rows:repeat(auto-fit,minmax(140px,1fr));border-left:1px solid #e5e7eb}.calendar-grid>div{border-bottom:1px solid #e5e7eb}.calendar-grid>div:last-child{border-bottom:none}.calendar-cell{position:relative}.calendar-cell:hover{background-color:#f8fafc!important}.appointment-item{animation:slideIn .3s ease-out;box-shadow:0 1px 3px rgba(0,0,0,.1)}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.appointment-item:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}.calendar-grid [class*=border-r]:last-child{border-right:none}.tooltip-container{animation:fadeInScale .15s ease-out;transform-origin:top left}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.tooltip-container{box-shadow:0 10px 25px rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.1)}.calendar-cell:nth-child(6) .tooltip-container,.calendar-cell:nth-child(7) .tooltip-container{left:auto;right:0}.calendar-cell:nth-child(6) .tooltip-container .absolute,.calendar-cell:nth-child(7) .tooltip-container .absolute{left:auto;right:1rem}@media (max-width:768px){.calendar-grid{grid-template-rows:repeat(auto-fit,minmax(120px,1fr))}.calendar-grid .min-h-\[140px\]{min-height:120px}.tooltip-container{width:280px}}@media (max-width:640px){.calendar-grid{grid-template-rows:repeat(auto-fit,minmax(100px,1fr))}.calendar-grid .min-h-\[140px\]{min-height:100px}.tooltip-container{width:260px}}