.react-calendar{background:#fff;border:1px solid #a0a096;width:350px;max-width:100%;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{margin:-.5em;display:flex}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar :before,.react-calendar :after{box-sizing:border-box}.react-calendar button{border:0;outline:none;margin:0}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{height:44px;margin-bottom:1em;display:flex}.react-calendar__navigation button{background:0 0;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{font:inherit;justify-content:center;align-items:center;font-size:.75em;font-weight:700;display:flex}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{text-align:center;max-width:100%;font:inherit;background:0 0;padding:10px 6.6667px;font-size:.833em}.react-calendar__tile:disabled{color:#ababab;background-color:#f0f0f0}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{color:#fff;background:#006edc}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}
.appointment-manager{background-color:#0000;width:100%}.appointment-manager .booking-mode-info{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:12px;margin-bottom:24px;padding:16px}.appointment-manager .booking-mode-info h3{color:#0369a1;margin:0 0 4px;font-size:1.1rem;font-weight:700}.appointment-manager .booking-mode-info p{color:#075985;opacity:.9;margin:0;font-size:.9rem}.appointment-manager .shift-selection-tabs{scrollbar-width:thin;gap:12px;margin-bottom:24px;padding-bottom:8px;display:flex;overflow-x:auto}.appointment-manager .shift-selection-tabs::-webkit-scrollbar{height:4px}.appointment-manager .shift-selection-tabs .shift-tab{cursor:pointer;text-align:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;min-width:150px;padding:12px 20px;transition:all .2s;display:flex;position:relative}.appointment-manager .shift-selection-tabs .shift-tab:hover:not(:disabled){background:#f0f7ff;border-color:#3b82f6;transform:translateY(-2px)}.appointment-manager .shift-selection-tabs .shift-tab.active{background:#eff6ff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.appointment-manager .shift-selection-tabs .shift-tab.active .shift-name{color:#3b82f6}.appointment-manager .shift-selection-tabs .shift-tab.inactive{opacity:.6;cursor:not-allowed;background:#f8fafc;border-style:dashed}.appointment-manager .shift-selection-tabs .shift-tab.inactive:hover{transform:none}.appointment-manager .shift-selection-tabs .shift-tab .shift-name{color:#1e293b;margin-bottom:2px;font-size:.95rem;font-weight:700}.appointment-manager .shift-selection-tabs .shift-tab .shift-time{color:#64748b;font-size:.8rem}.appointment-manager .shift-selection-tabs .shift-tab .inactive-badge{color:#fff;text-transform:uppercase;background:#64748b;border-radius:4px;padding:2px 6px;font-size:10px;position:absolute;top:-6px;right:-6px}.appointment-grid{grid-template-columns:350px 1fr;align-items:start;gap:24px;display:grid}@media (max-width:992px){.appointment-grid{grid-template-columns:1fr}}.calendar-section .custom-calendar{background:#fff;border:1px solid #e2e8f0;border-radius:16px;max-width:100%;padding:1rem;font-family:inherit;box-shadow:0 4px 12px #0000000d;width:100%!important}.calendar-section .custom-calendar .react-calendar__navigation{margin-bottom:1rem}.calendar-section .custom-calendar .react-calendar__navigation button{color:#1e293b;border-radius:8px;font-weight:600}.calendar-section .custom-calendar .react-calendar__navigation button:enabled:hover,.calendar-section .custom-calendar .react-calendar__navigation button:enabled:focus{background-color:#f1f5f9}.calendar-section .custom-calendar .react-calendar__month-view__weekdays{text-transform:uppercase;color:#94a3b8;font-size:.75rem;font-weight:700}.calendar-section .custom-calendar .react-calendar__month-view__weekdays abbr{text-decoration:none}.calendar-section .custom-calendar .react-calendar__tile{border-radius:8px;padding:12px 8px;font-size:.9rem;transition:all .2s}.calendar-section .custom-calendar .react-calendar__tile:enabled:hover{color:#3b82f6;background-color:#f1f5f9}.calendar-section .custom-calendar .react-calendar__tile--active{box-shadow:0 4px 12px #3b82f64d;color:#fff!important;background:#3b82f6!important}.calendar-section .custom-calendar .react-calendar__tile--now{color:#3b82f6;background:#eff6ff;font-weight:700}.calendar-section .custom-calendar .react-calendar__tile:disabled{color:#cbd5e0;opacity:.4;background-color:#0000}.calendar-section .queue-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:20px;padding:16px}.calendar-section .queue-info h3{color:#334155;margin:0 0 8px;font-size:1rem}.calendar-section .queue-info p{color:#64748b;margin:0;font-size:.85rem}.calendar-section .queue-info p.not-working-day{color:#ef4444;font-weight:600}.slots-section,.queue-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 4px 12px #0000000d}.slots-section h4,.queue-section h4{color:#1e293b;align-items:center;gap:10px;margin:0 0 20px;font-size:1.1rem;font-weight:700;display:flex}.slots-section h4:before,.queue-section h4:before{content:"";background:#3b82f6;border-radius:2px;width:4px;height:18px}.time-slots{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;display:grid}.time-slots .time-slot{text-align:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;padding:12px 8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.time-slots .time-slot .slot-time{color:#334155;font-size:.9rem;font-weight:700}.time-slots .time-slot:not(.occupied):not(.past-slot):hover{background:#fff;border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f61a}.time-slots .time-slot.occupied{cursor:not-allowed;opacity:.7;background-color:#f1f5f9;border-color:#e2e8f0}.time-slots .time-slot.occupied .slot-time{color:#94a3b8}.time-slots .time-slot.occupied:after{content:"Reserved";color:#94a3b8;font-size:10px;font-weight:600;display:block}.time-slots .time-slot.past-slot{color:#cbd5e0;cursor:not-allowed;background-color:#0000;border:2px dashed #e2e8f0}.time-slots .time-slot.past-slot .slot-time{color:#cbd5e0}.time-slots .time-slot.past-slot .slot-status{display:none}.appointments-table-container{border:1px solid #e2e8f0;border-radius:12px;margin-top:16px;overflow-x:auto}.appointments-table-container .appointments-table{border-collapse:collapse;width:100%}.appointments-table-container .appointments-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;padding:12px 16px;font-size:.8rem;font-weight:700}.appointments-table-container .appointments-table td{color:#334155;border-top:1px solid #f1f5f9;padding:14px 16px;font-size:.9rem}.appointments-table-container .appointments-table .status-badge{border-radius:9999px;padding:4px 10px;font-size:.75rem;font-weight:600}.appointments-table-container .appointments-table .status-badge.scheduled{color:#1e40af;background:#dbeafe}.appointments-table-container .appointments-table .status-badge.confirmed{color:#166534;background:#dcfce7}.appointments-table-container .appointments-table .status-badge.cancelled{color:#991b1b;background:#fee2e2}.bookings-list{flex-direction:column;gap:12px;display:flex}.booking-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;padding:16px;transition:all .2s;display:flex}.booking-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000000d}.booking-item .queue-number{color:#fff;background:#3b82f6;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-right:16px;font-weight:700;display:flex}.booking-item .booking-info{flex:1}.booking-item .booking-info .patient-name{color:#1e293b;margin-bottom:4px;font-size:1rem;font-weight:700;display:block}.booking-item .booking-info .booking-details{color:#64748b;flex-wrap:wrap;align-items:center;gap:12px;font-size:.85rem;display:flex}.booking-item .booking-info .booking-details i{color:#3b82f6;margin-right:4px}.booking-item .status-badge{color:#475569;background:#f1f5f9;border-radius:8px;padding:4px 12px;font-size:.75rem;font-weight:700}.booking-item .status-badge.waiting{color:#9a3412;background:#fff7ed}.booking-item .status-badge.completed{color:#166534;background:#f0fdf4}.add-patient-button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:12px;width:100%;margin-top:16px;padding:14px;font-weight:700;transition:all .2s}.add-patient-button:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.queue-filter{scrollbar-width:none;gap:8px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.queue-filter::-webkit-scrollbar{display:none}.queue-filter .filter-button{color:#64748b;cursor:pointer;white-space:nowrap;background:#f1f5f9;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.queue-filter .filter-button:hover{background:#e2e8f0}.queue-filter .filter-button.active{color:#fff;background:#3b82f6}.modal-overlay{z-index:2500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-overlay .modal-content{background:#fff;border-radius:20px;width:90%;max-width:450px;padding:32px;animation:.4s cubic-bezier(.34,1.56,.64,1) dpm-slide-up;box-shadow:0 25px 50px -12px #00000040}.modal-overlay .modal-content .modal-close-icon{color:#64748b;cursor:pointer;z-index:10;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.modal-overlay .modal-content .modal-close-icon:hover{color:#1e293b;background:#e2e8f0;transform:rotate(90deg)}.modal-overlay .modal-content .modal-close-icon i{font-size:16px}.modal-overlay .modal-content h2{color:#1e293b;text-align:center;margin-bottom:8px;padding-top:8px;font-size:1.6rem;font-weight:800}.modal-overlay .modal-content .modal-subtitle{text-align:center;color:#64748b;border-bottom:1px solid #f1f5f9;margin-bottom:24px;padding-bottom:16px;font-size:.95rem}.modal-overlay .modal-content .modal-subtitle strong{color:#3b82f6}.modal-overlay .modal-content .form-group{flex-direction:column;margin-bottom:18px;display:flex}.modal-overlay .modal-content .form-group label{color:#475569;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:.85rem;font-weight:700}.modal-overlay .modal-content .form-group input,.modal-overlay .modal-content .form-group select,.modal-overlay .modal-content .form-group textarea{box-sizing:border-box;color:#1e293b;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;width:100%;padding:12px 16px;font-family:inherit;font-size:1rem;transition:all .2s}.modal-overlay .modal-content .form-group input::placeholder,.modal-overlay .modal-content .form-group select::placeholder,.modal-overlay .modal-content .form-group textarea::placeholder{color:#94a3b8}.modal-overlay .modal-content .form-group input:focus,.modal-overlay .modal-content .form-group select:focus,.modal-overlay .modal-content .form-group textarea:focus{background:#fff;border-color:#3b82f6;outline:none;box-shadow:0 0 0 4px #3b82f61a}.modal-overlay .modal-content .form-group input:disabled,.modal-overlay .modal-content .form-group select:disabled,.modal-overlay .modal-content .form-group textarea:disabled{cursor:not-allowed;color:#94a3b8;opacity:.7;background:#f1f5f9}.modal-overlay .modal-content .form-group textarea{resize:none;min-height:100px}.modal-overlay .modal-content .modal-actions{flex-direction:column;gap:12px;margin-top:32px;display:flex}.modal-overlay .modal-content .modal-actions button{cursor:pointer;border:none;border-radius:12px;width:100%;height:54px;padding:0 24px;font-size:1.1rem;font-weight:700;transition:all .2s}.modal-overlay .modal-content .modal-actions button.book-button,.modal-overlay .modal-content .modal-actions button.add-button{color:#fff;background:#3b82f6}.modal-overlay .modal-content .modal-actions button.book-button:hover,.modal-overlay .modal-content .modal-actions button.add-button:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 8px 15px #3b82f64d}.modal-overlay .modal-content .modal-actions button.book-button:active,.modal-overlay .modal-content .modal-actions button.add-button:active{transform:translateY(0)}.modal-overlay .modal-content .modal-actions button.cancel-button{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.modal-overlay .modal-content .modal-actions button.cancel-button:hover{color:#1e293b;background:#e2e8f0}
