#calendar_container{max-width:100%;margin:20px auto;background:#fff;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);padding:25px}.nn-appointment-adv{display:flex;flex-direction:row;justify-content:space-between;width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.calendar-main-title{margin:0!important;font-size:1.3rem;font-weight:600;color:#2c3e50}.cal-nav-btn{min-width:40px;height:40px;font-size:1.2rem}.triple-calendar-container{display:flex;gap:10px;justify-content:center}.single-month-calendar{background:#f8f9fa;padding:15px;border-radius:10px;border:1px solid #e0e0e0;width:33%}.month-title-header{text-align:center;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #dee2e6}.month-title{margin:0;font-size:1.1rem;font-weight:600;color:#495057}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.weekday{text-align:center;font-weight:600;color:#fff;padding:6px;font-size:.85rem;background:#7b7d7e;border-radius:7px}.calendar-weekdays .weekday{cursor:pointer;transition:all .2s ease}.calendar-weekdays .weekday:hover{background-color:#505050;font-weight:700}.calendar-weekdays .weekday:active{background-color:#505050}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:10px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:2px solid #ecf0f1;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease;background:#fff;font-size:.95rem;user-select:none}.calendar-day:hover:not(.empty):not(.disabled){border-color:#007aff;box-shadow:0 2px 8px rgba(52,152,219,.3)}.calendar-day.empty{cursor:default;border:none;background:0 0}.calendar-day.disabled,.calendar-day.past{background:#e9ecef!important;color:#adb5bd!important;cursor:not-allowed!important;border-color:#dee2e6!important;opacity:.5}.calendar-day.disabled:hover,.calendar-day.past:hover{transform:none!important;box-shadow:none!important}.calendar-day.selected{background:#007aff!important;color:white!important;border-color:#007aff!important;font-weight:600!important}button.btn.btn-danger.btn-sm.remove-time-slot-btn{margin-right:5px}div#time_slots_container{display:flex;flex-wrap:wrap;gap:10px}.time-slot.mb-2{display:flex}select.form-select.nobat-field{padding:0 30px}#generated_time_slots_container{display:grid;gap:10px;grid-template-columns:repeat(5,1fr)}#generated_time_slots_container .pr-time{display:flex;justify-content:space-between;align-items:center}.calendar-day.excluded{background:#f5576c;color:white;border-color:#f5576c;font-weight:600;text-decoration:line-through}.calendar-controls{margin-top:20px;padding-top:20px;border-top:2px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.control-group{display:flex;gap:15px}.control-label{cursor:pointer;display:flex;align-items:center;margin:0}.control-label input[type=radio]{display:none}.mode-badge{padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:600;transition:all .3s ease;border:2px solid #e0e0e0;background:#fff}.mode-badge.select{color:#667eea}.mode-badge.exclude{color:#f5576c}.control-label input[type=radio]:checked+.mode-badge.select{background:#007aff;color:white;border-color:#007aff;box-shadow:0 3px 10px rgba(102,126,234,.3)}.control-label input[type=radio]:checked+.mode-badge.exclude{background:#f5576c;color:white;border-color:#f5576c;box-shadow:0 3px 10px rgba(245,87,108,.3)}.control-buttons{display:flex;gap:8px;flex-wrap:wrap}.date-summary{display:flex;gap:25px;margin-top:20px;padding:15px;background:#f8f9fa;border-radius:10px;justify-content:center}.summary-item{display:flex;align-items:center;gap:10px;font-size:1rem}.summary-badge{padding:6px 15px;border-radius:5px;font-weight:700;color:white;min-width:35px;text-align:center}.summary-badge.selected{background:#007aff}.summary-badge.excluded{background:#f5576c}button#clear_all{background:#f5576c}#generated_time_slots_container .time-slot{display:flex;align-items:center;column-gap:5px;width:170px}button.btn.btn-sm.btn-outline-secondary.cal-nav-btn,button.btn.btn-sm.btn-outline-secondary.cal-nav-btn:hover{border:none!important;font-size:24px!important;cursor:pointer;line-height:.5}@media (max-width:992px){.triple-calendar-container{flex-direction:column}.single-month-calendar{width:100%;padding:5px}.p-3.bg-light.border.rounded.mb-3{padding:5px!important}.p-3.mb-3.border.rounded{padding:5px!important}.control-buttons{flex-direction:column}.control-group{justify-content:space-between;padding:10px}.nn-card.nn-p-5.nn-my-5.nn-shadow.nn-appointment-form{padding:5px!important}.nn-wrap.nn-provider-dashboard.nn-container{padding:10px;width:100%}.nn-appointment .calendar-days{padding:0}.date-summary{flex-direction:column;align-items:center}.nn-time-generation-controls.nn-p-3.nn-bg-light.nn-border.nn-rounded.nn-mb-3{width:90%;padding:20px 0!important;margin:0 auto}.card.p-5.my-5.shadow{padding:10px!important}.time-generation-controls .calendar-days{padding:0!important}#generated_time_slots_container{display:grid;gap:10px;grid-template-columns:repeat(1,1fr);justify-items:center}#generated_time_slots_container .time-slot{width:130px}}@media (max-width:768px){#calendar_container{padding:5px}.calendar-day{font-size:.85rem}.weekday{font-size:.75rem;padding:4px}.calendar-controls{flex-direction:column;align-items:stretch}.control-buttons{width:100%}.control-buttons button{flex:1;font-size:.85rem;padding:8px 12px}.month-title{font-size:1rem}}