@tailwind base;@tailwind components;@tailwind utilities;.simple-calendar-container{width:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.calendar-title{text-align:center;font-size:22px;font-weight:600;color:#0a2540;margin-bottom:20px}.calendar-wrapper,.custom-calendar{width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.current-month{font-weight:500;font-size:18px;color:#0a2540}.nav-button{background:none;border:none;font-size:24px;color:#0074d9;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.nav-button:hover{background-color:rgba(0,116,217,.1)}.nav-button.disabled{color:#ccc;cursor:not-allowed}.nav-button.disabled:hover{background-color:initial}.weekdays-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:10px}.weekday{text-align:center;font-weight:500;font-size:14px;color:#6c757d;padding:10px 0}.calendar-grid{display:flex;flex-direction:column;grid-gap:8px;gap:8px}.week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px}.day{height:40px;width:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;cursor:pointer;margin:0 auto;background-color:#f0fafd;-webkit-user-select:none;user-select:none}.day:not(.empty):not(.disabled):not(.selected):hover{background-color:#e6f1ff}.day.empty{background-color:initial;cursor:default}.day.today{position:relative}.today-dot{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background-color:#0074d9}.day.selected{background-color:#0074d9;color:#fff}.day.disabled{color:#ccc;cursor:not-allowed}.day.disabled,.day.disabled:hover{background-color:#f5f5f5}.day-number{font-size:16px}.day.past-date{background-color:#fff8e1;color:#333;position:relative}.day.past-date:hover{background-color:#ffecb3}.day.past-date.selected{background-color:#0074d9;color:#fff}.day.past-date.selected:after{background-color:#fff}.walkin-edit-mode-indicator span{color:#e65100;font-weight:500;font-size:15px}.reset-datetime-button{background-color:#fff;border:1px solid #e65100;color:#e65100;padding:8px 12px;font-size:14px}.reset-datetime-button:hover{background-color:#fff3e0}.past-date-indicator{color:#e65100;background-color:#fff8e1}.custom-time-indicator,.past-date-indicator{display:inline-block;padding:2px 6px;border-radius:4px}.custom-time-indicator{margin-left:6px;background-color:#f0f7ff}.time-slot-container{width:100%;margin-top:20px;opacity:0;max-height:0;overflow:hidden;transition:opacity .3s ease,max-height .5s ease;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.time-slot-container.visible{opacity:1;max-height:none;overflow:visible}.time-slot-title{text-align:center;font-size:22px;font-weight:600;color:#0a2540;margin-bottom:10px}.time-slot-duration{text-align:center;font-size:16px;color:#666;margin-bottom:20px}.time-slots-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;padding:0 15px 15px}.time-slot-wrapper{position:relative;display:flex;align-items:center;transition:all .3s ease}.time-slot-wrapper.with-next-button .time-slot{width:50%;border-top-right-radius:0;border-bottom-right-radius:0}.time-slot{background-color:#f0fafd;border:1px solid #e2eef3;border-radius:8px;padding:15px 10px;text-align:center;font-size:16px;font-weight:500;color:#0074d9;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;width:100%}.time-slot.selected{background-color:#0074d9;color:#fff;border-color:#0074d9}.time-slot.unavailable{background-color:#f5f5f5;color:#aaa;border-color:#e0e0e0;cursor:not-allowed;opacity:.7}.next-button{position:absolute;right:0;height:100%;width:50%;background-color:#4caf50;color:#fff;border:none;border-top-right-radius:8px;border-bottom-right-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;animation:slideIn .3s ease}.next-button:hover{background-color:#45a049}@keyframes slideIn{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.no-slots-message{grid-column:1/-1;text-align:center;padding:30px;color:#666;background-color:#f9f9f9;border-radius:8px;border:1px dashed #ddd}@media (max-width:480px){.time-slots-grid{grid-template-columns:1fr}}.time-slot.selected:after{content:"";position:absolute;top:50%;right:15px;transform:translateY(-50%);width:6px;height:6px;background-color:#fff;border-radius:50%;animation:pulse 1.5s infinite}.back-button-container{margin-top:15px}.back-button{width:100%}.booking-page{max-width:500px;margin:0 auto;background-color:#fff;border-radius:16px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;position:relative;box-shadow:0 4px 20px rgba(0,0,0,.08)}.meeting-header{position:relative;background-color:#9a9a9a;height:60px;display:flex;align-items:center;justify-content:center;color:#fff}.meeting-badge{background-color:#1a1a2e;padding:8px 16px;border-radius:4px}.badge-text{font-weight:500}.corner-ribbon{position:absolute;top:0;right:0;background-color:#1a1a2e;width:120px;height:120px;transform:rotate(45deg) translate(60px,-60px);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:10px;font-size:10px;line-height:1.2}.close-button{position:absolute;top:10px;right:10px;font-size:20px;z-index:2}.meeting-info{padding:20px 30px;text-align:center}.company-logo{width:48px;height:48px;margin:10px auto 20px;display:flex;align-items:center;justify-content:center}.logo-icon{width:40px;height:40px;background-color:#00a6d3;position:relative;border-radius:50%}.logo-icon:before{content:"";position:absolute;top:12px;left:10px;width:20px;height:16px;background-color:#fff;border-radius:10px 10px 0 0}.company-name{font-size:24px;font-weight:600;color:#1a1a2e;margin-bottom:8px}.meeting-duration{display:flex;align-items:center;justify-content:center;margin-bottom:15px}.duration-icon{margin-right:8px;color:#666}.duration-text{font-weight:500;color:#666}.meeting-description{color:#444;line-height:1.5;font-size:15px;margin:0}.appointment-type-indicator{background-color:#f0f7ff;color:#0074d9;padding:5px 12px;border-radius:16px;margin-top:5px;border:1px solid #d0e5ff}.walk-in-banner{color:#0074d9;padding:8px 16px;margin-top:12px}.walk-in-banner .banner-icon{width:20px;height:20px;margin-right:8px}.walkin-badge{display:flex;background-color:#f0f7ff;color:#0074d9;padding:4px 10px;border-radius:12px;font-size:12px;margin-left:8px;border:1px solid #d0e5ff}.walkin-badge svg{margin-right:4px}.divider{height:1px;background-color:#e0e0e0;margin:10px 0}.booking-steps{display:flex;justify-content:center;align-items:center;padding:20px 0}.step{width:60px}.step-number{width:30px;height:30px;background-color:#f0f0f0;color:#666;margin-bottom:5px}.step.active .step-number{background-color:#0074d9}.step-label{font-size:12px;color:#666;transition:color .3s ease}.step.active .step-label{color:#0074d9;font-weight:500}.step-connector{flex-grow:1;height:2px;background-color:#e0e0e0;max-width:60px}.booking-content{position:relative;padding-bottom:20px}.calendar-wrapper{transition:all .3s ease;overflow:hidden;max-height:500px}.calendar-wrapper.minimized{max-height:100px;overflow:hidden;opacity:.7;cursor:pointer}.calendar-wrapper.minimized:hover{opacity:.9}.calendar-wrapper.minimized .calendar-grid{display:none}.user-details-form{padding:20px;background-color:initial;border-radius:0;box-shadow:none}.form-title{font-size:20px;font-weight:600;color:#333;margin-bottom:20px;text-align:center}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;color:#555}.form-group input{width:100%;padding:10px 12px;font-size:14px;border:1px solid #ddd;border-radius:8px;background-color:#fff;color:#333;transition:border-color .2s ease}.form-group input:focus{border-color:#0074d9}.form-group.error input{border-color:#e74c3c;background-color:#fff8f8}.error-message{color:#e74c3c;font-size:12px;margin-top:5px}.form-buttons{display:flex;justify-content:space-between;margin-top:20px;grid-gap:15px;gap:15px}.form-buttons .back-button,.form-buttons .continue-button{padding:12px 20px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .2s ease;flex:1 1;text-align:center}.form-buttons .back-button{background-color:#f0f0f0;color:#555}.form-buttons .back-button:hover{background-color:#e0e0e0}.form-buttons .continue-button{background-color:#0074d9;color:#fff}.form-buttons .continue-button:hover{background-color:#0065be;transform:scale(1.02)}.booking-confirmation{padding:20px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.confirmation-title{text-align:center;font-size:22px;font-weight:600;color:#0a2540;margin-bottom:20px}.appointment-details{background-color:#f9f9f9;border-radius:12px;padding:20px;margin-bottom:30px}.detail-item{display:flex;align-items:center;margin-bottom:15px}.detail-item:last-child{margin-bottom:0}.detail-icon{margin-right:12px;font-size:20px}.detail-text{font-size:16px;color:#333}.detail-label,.detail-phone{color:#666}.appointment-type{font-size:14px;margin-top:4px;color:#0074d9;font-weight:500}.confirmation-buttons{display:flex;justify-content:space-between;margin-top:20px}.back-button{padding:12px 20px;color:#555;transition:background-color .2s ease;flex:0.3 1;white-space:nowrap}.back-button:hover{background-color:#e0e0e0}.back-button:disabled,.confirm-button:disabled{opacity:.6;cursor:not-allowed}.confirm-button{padding:12px 24px;transition:background-color .2s ease;flex:0.7 1;white-space:nowrap}.confirm-button:hover{background-color:#0065be}.time-selection-nav{display:flex;justify-content:flex-start;margin-top:1rem;padding:0 1rem}.confirmation-header .walkin-badge{display:inline-flex;align-items:center;margin-top:8px;margin-left:0}.loading{color:#666}.error,.loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:16px}.error{padding:0 20px}.walkin-datetime-display{background-color:#f0f7ff;border-radius:8px;padding:12px 16px;margin-bottom:20px;border:1px solid #d0e5ff;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.datetime-info{flex:1 1;min-width:200px}.datetime-label{font-size:14px;font-weight:500;color:#0074d9;margin-bottom:4px}.datetime-value{font-size:15px;color:#333}.edit-datetime-button{background-color:#fff;border:1px solid #0074d9;color:#0074d9;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.edit-datetime-button:hover{background-color:#f0f7ff}.reset-datetime-button{background-color:#f0f0f0;border:1px solid #ccc;color:#555;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13px;margin-left:10px;transition:all .2s ease}.reset-datetime-button:hover{background-color:#e0e0e0}.walkin-edit-mode-indicator{background-color:#fff8e1;color:#ff9800;padding:10px 15px;border-radius:8px;margin-bottom:15px;border:1px solid #ffe0b2;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.past-date-indicator{color:#e74c3c;font-weight:500;font-size:13px}.custom-time-indicator{color:#0074d9;font-weight:500;font-size:13px}.walkin-time-selection{padding:20px;max-width:500px;margin:0 auto}.walkin-time-selection h3{font-size:22px;font-weight:600;color:#333;margin-bottom:25px;text-align:center}.quick-time-buttons{display:flex;flex-wrap:wrap;grid-gap:12px;gap:12px;margin-bottom:20px;justify-content:center}.quick-time-button{background-color:#f0f7ff;border:1px solid #d0e5ff;color:#0074d9;padding:14px 24px;border-radius:100px;cursor:pointer;font-size:16px;transition:all .2s ease;min-width:110px;text-align:center}.quick-time-button:hover{background-color:#e1efff}.quick-time-button.selected{background-color:#0074d9;color:#0074d9;border-color:#0074d9}.avs-time-slot{background-color:#f9f9f9;border-radius:8px;padding:15px;margin-bottom:20px}.avs-time-input{display:flex;flex-direction:column;width:100%}.avs-time-input label{font-size:16px;font-weight:500;color:#555;margin-bottom:10px}input[type=time].time-input{width:100%;height:50px;padding:10px 15px;border:1px solid #ddd;border-radius:8px;font-size:18px;color:#333;background-color:#fff;text-align:left}input[type=time].time-input:focus{outline:none;border-color:#0074d9;box-shadow:0 0 0 2px rgba(0,116,217,.1)}.time-action-buttons{display:flex;flex-direction:column;grid-gap:10px;gap:10px;margin-top:20px}.back-button{background-color:#f0f0f0}.back-button,.confirm-button{padding:15px;text-align:center}.confirm-button{background-color:#0074d9;border:none;border-radius:8px;font-size:16px;font-weight:500;color:#fff;cursor:pointer}.appointment-type-indicator{background-color:#e9f5f9;color:#0077b6;padding:6px 12px;border-radius:4px;font-size:14px;font-weight:500;margin-top:8px;display:inline-block}.readonly-input{background-color:#f7f7f7;opacity:.8}.rescheduled-indicator{background-color:#f0f9ff;border-radius:8px;padding:8px;margin-top:16px}.rescheduled-indicator .detail-text{color:#0077b6;font-weight:500}.patient-search-container{position:relative;width:100%}.patient-dropdown{position:absolute;top:100%;left:0;width:100%;max-height:160px;overflow-y:auto;background-color:#fff;border:1px solid #e0e0e0;border-radius:0 0 8px 8px;box-shadow:0 4px 8px rgba(0,0,0,.1);z-index:100}.patient-dropdown-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.patient-dropdown-item:last-child{border-bottom:none}.patient-dropdown-item:hover{background-color:#f9f9f9}.patient-dropdown-name{font-weight:500;font-size:16px;margin-bottom:4px;color:#333}.patient-dropdown-info{display:flex;justify-content:space-between;font-size:14px;color:#666;width:100%}.info-left{text-align:left}.info-right{text-align:right}.patient-dropdown-info span{margin-right:12px}.patient-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #e0e0e0;background-color:#f5f5f5;font-weight:500}.patient-dropdown-close{background:none;border:none;font-size:20px;cursor:pointer;color:#666;height:24px;width:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.patient-dropdown-close:hover{background-color:#e0e0e0;color:#333}.patient-dropdown-info span:last-child{margin-right:0}.form-group input:focus{border-color:#2196f3;outline:none;box-shadow:0 0 0 2px rgba(33,150,243,.2)}.readonly-input{background-color:#f5f5f5;cursor:not-allowed}@media (min-width:500px){.time-action-buttons{flex-direction:row;justify-content:space-between}.back-button,.confirm-button{width:48%}}.confirmation-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f7fa;padding:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.confirmation-container{max-width:500px;width:100%;background-color:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.08);overflow:hidden;padding:30px}.confirmation-header{text-align:center;margin-bottom:30px}.confirmation-status{display:flex;flex-direction:column;align-items:center}.status-icon{color:#22c55e;width:40px;height:40px;margin-bottom:15px}.status-icon.large{width:60px;height:60px}.status-text{font-size:24px;font-weight:600;color:#111827;margin:10px 0}.confirmation-message{color:#4b5563;font-size:16px;margin-top:10px}.walkin-confirmation,.walkin-confirmation-header{display:flex;flex-direction:column;align-items:center}.walkin-confirmation-header{text-align:center;margin-bottom:30px}.success-icon{margin-bottom:15px}.walkin-title{font-size:28px;font-weight:600;color:#1f2937;margin:10px 0}.walkin-badge{display:inline-flex;align-items:center;background-color:#eff6ff;color:#3b82f6;padding:6px 14px;border-radius:20px;font-size:14px;font-weight:500;margin:10px 0}.walkin-badge svg{margin-right:6px}.walkin-message{color:#6b7280;font-size:16px;line-height:1.5;margin-top:12px;text-align:center}.walkin-label{color:#3b82f6;font-size:14px;font-weight:500;margin-top:6px}.appointment-confirmed-card{background-color:#f9fafb;border-radius:12px;padding:20px;margin-bottom:30px}.appointment-detail{display:flex;margin-bottom:20px}.appointment-detail:last-child{margin-bottom:0}.detail-icon{width:40px;margin-right:15px;color:#6b7280}.detail-info{flex:1 1}.provider-name{font-size:18px;font-weight:600;color:#111827;margin-bottom:5px}.appointment-time{font-size:16px;font-weight:500;color:#374151}.appointment-date,.timezone-label{color:#6b7280;font-size:14px}.timezone-label{margin-top:15px}.timezone-value{font-size:14px;color:#374151}.detail-label{font-size:14px}.detail-value{font-size:16px}.detail-phone{font-size:14px}.appointment-actions{display:flex;grid-gap:10px;gap:10px;margin-top:15px}.action-button{flex:1 1;padding:10px;font-size:14px;font-weight:500;border-radius:8px;transition:background-color .2s}.reschedule-button{background-color:#f3f4f6;color:#374151}.reschedule-button:hover{background-color:#e5e7eb}.cancel-button{background-color:#fee2e2;color:#ef4444}.cancel-button:hover{background-color:#fecaca}.additional-options{display:flex;flex-direction:column;grid-gap:15px;gap:15px}.option-button{display:flex;align-items:center;padding:12px 16px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:background-color .2s,transform .1s}.option-button:hover{background-color:#f3f4f6;transform:translateY(-1px)}.option-icon{margin-right:10px;font-size:18px}.reschedule-badge{display:inline-flex;align-items:center;background-color:#e0f2fe;color:#0284c7;padding:6px 12px;border-radius:16px;font-size:14px;font-weight:500;margin-top:12px;grid-gap:6px;gap:6px}.reschedule-badge svg{color:#0284c7}.reschedule-label{background-color:#e0f2fe;color:#0284c7;font-size:12px;font-weight:500;padding:4px 8px;border-radius:4px;display:inline-block;margin-top:8px}.detail-duration{font-size:13px;color:#6b7280;margin-top:2px}.detail-label{font-size:13px;color:#6b7280;margin-bottom:2px}.detail-value{font-weight:500;color:#111827}.detail-phone{font-size:13px;color:#6b7280;margin-top:2px}@media (max-width:500px){.confirmation-container{padding:20px;border-radius:12px}.walkin-title{font-size:24px}.status-text{font-size:22px}}.establishment-page{max-width:1200px;margin:0 auto;padding:20px}.establishment-header{text-align:center;margin-bottom:40px;margin-top:40px}.establishment-logo{max-width:150px;margin-bottom:20px}.establishment-name{font-size:2.5rem;margin-bottom:10px}.establishment-subtext{color:#666;margin-bottom:15px;font-size:1.1rem}.establishment-address,.establishment-phone{color:#555;margin:5px 0}.establishment-description{margin-bottom:40px}.walk-in-banner{display:flex;align-items:center;justify-content:center;background-color:#f0f7ff;color:#07c;padding:12px 20px;border-radius:8px;margin:20px auto;max-width:400px;border:1px solid #d0e5ff;font-weight:500;font-size:1.1rem;box-shadow:0 2px 4px rgba(0,0,0,.04)}.walk-in-banner .banner-icon{width:24px;height:24px;margin-right:12px}.doctors-section h2{border-bottom:2px solid #eee;padding-bottom:10px;margin-bottom:20px;text-align:center;font-size:1.8rem}.doctors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:30px;gap:30px}.doctors-header{margin:20px}.est-doctor-card{display:flex;flex-direction:column;background-color:#f9f9f9;border-radius:10px;padding:20px;box-shadow:0 4px 8px rgba(0,0,0,.1);transition:transform .3s ease}.est-doctor-card:hover{transform:translateY(-5px)}.doctor-name{font-size:1.5rem;margin-bottom:10px}.doctor-specialization{display:block;margin-top:8px;color:#07c;font-weight:700;margin-bottom:10px}.doctor-bio{margin-bottom:20px;font-size:.9rem;line-height:1.5}.doctor-room,.doctor-schedule{margin-bottom:10px;font-size:.9rem;color:#555}.book-appointment-btn{display:inline-block;background-color:#07c;color:#fff;padding:10px 15px;border-radius:5px;text-decoration:none;text-align:center;font-weight:700;transition:background-color .3s,transform .2s;width:100%}.book-appointment-btn:hover{background-color:#005fa3;transform:translateY(-2px)}.error,.loading,.not-found{text-align:center;padding:50px;font-size:1.2rem}.error{color:#e74c3c}.no-doctors{text-align:center;color:#777;font-style:italic;padding:20px}.back-button-container{padding:15px 0 20px}.back-button{display:flex;align-items:center;background-color:#f2f2f2;border:none;border-radius:8px;color:#333;padding:8px 16px;font-weight:500;font-size:16px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.1)}.back-button:hover{background-color:#e6e6e6;transform:translateY(-1px)}.back-button:active{transform:translateY(1px)}.back-icon{margin-right:8px}.back-button span{line-height:1}@media (max-width:768px){.establishment-name{font-size:2rem}.doctors-grid{grid-template-columns:1fr}.walk-in-banner{font-size:1rem;padding:10px 15px}}.logo{font-size:2.5rem;font-weight:700}.blue{color:#4169e1}.green{color:#20b2aa}.dentist-content{padding-bottom:60px}.dentist-login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px}.logo-container{flex-direction:column;align-items:center;margin-bottom:40px}.app-logo{width:100px;height:auto;margin-bottom:20px}.logo-container{display:flex;justify-content:center;padding-top:10px;margin-bottom:30px}.login-form{width:100%;max-width:350px;display:flex;flex-direction:column}.otp-input,.phone-input{padding:15px;margin-bottom:15px;border:1px solid #ddd;border-radius:4px;font-size:16px}.login-button,.otp-button{padding:15px;background-color:#4169e1;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .3s}.login-button:hover,.otp-button:hover{background-color:#3a5fcd}.dentist-home-container{min-height:100vh;background-color:#f5f5f5}.dentist-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.logout-button{padding:8px 16px;background-color:#f44336;border-radius:4px}.doctors-list{display:flex;flex-direction:column;grid-gap:16px;gap:16px;width:100%}.doctor-card{display:flex;align-items:center;background-color:#fff;border-radius:12px;padding:16px 16px 16px 24px;margin:0 16px;box-shadow:0 2px 8px rgba(0,0,0,.1);position:relative}.doctor-card .appointment-indicator{position:absolute;left:16px;top:16px;bottom:16px;width:10px;border-radius:12px;border-top-left-radius:12px;border-bottom-left-radius:12px}.doctor-info{flex:1 1;margin-left:16px}.doctor-info h3{margin:0;font-size:16px;font-weight:600;color:#333}.doctor-info p{margin:4px 0 0;font-size:14px;color:#666}.doctor-initials{width:40px;height:40px;border-radius:50%;background-color:#f0f0f0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#333;font-size:16px}.add-appointment-container{padding:16px;margin-top:16px}.add-appointment-button{display:flex;align-items:center;justify-content:center;width:100%;padding:16px;background-color:#fff;color:#2368e7;border:1px solid #2368e7;border-radius:16px;font-size:16px;font-weight:500;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .2s ease}.add-appointment-button:hover{background-color:#f8f9ff;box-shadow:0 4px 12px rgba(0,0,0,.15)}.plus-icon-book{display:flex;align-items:center;justify-content:center;width:16px;height:10px;margin-right:8px;border-radius:50%;color:#2368e7;font-size:20px;line-height:1}.date-picker-container{background-color:#fff;padding:16px;margin-bottom:16px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.date-range-display{display:flex;justify-content:center;align-items:center;padding-bottom:16px;font-weight:600;position:relative}.dropdown-icon{margin-left:8px;font-size:12px}.week-days-container{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;text-align:center}.week-day{color:#888;font-size:14px;margin-bottom:8px}.week-date{padding:8px;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:0 auto;position:relative}.week-date.selected{background-color:#4169e1;color:#fff;font-weight:700;position:relative}.today-indicator{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);font-size:14px}.selected-date{font-weight:700;margin:16px;padding-bottom:12px;border-bottom:1px solid #eee}.loading,.no-appointments{text-align:center;padding:32px 0;color:#888}.search-container{padding:16px;background-color:#f8f8f8}.search-input{width:100%;padding:12px 16px;border-radius:30px;border:1px solid #eaeaea;background-color:#fff;font-size:16px;color:#333;box-shadow:0 2px 4px rgba(0,0,0,.05)}.search-input::placeholder{color:#999}.filter-container{padding:0 16px 16px;background-color:#f8f8f8}.ongoing-filter-button{display:flex;align-items:center;width:100%;padding:12px 16px;background-color:#fff;border:1px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.05)}.ongoing-filter-button:hover{background-color:#f8f9ff;border-color:#2368e7}.ongoing-filter-button.active{background-color:#e3f2fd;border-color:#2368e7;box-shadow:0 2px 8px rgba(35,104,231,.15)}.filter-icon{margin-right:12px;font-size:16px;width:20px;text-align:center}.filter-text{display:flex;flex-direction:column;align-items:flex-start;flex:1 1}.filter-label{font-size:16px;font-weight:500;color:#333}.filter-count{font-size:14px;color:#666;margin-left:4px}.ongoing-filter-button.active .filter-label{color:#2368e7;font-weight:600}.ongoing-filter-button.active .filter-count{color:#2368e7}.patients-list{padding:0 16px}.patient-group{margin-bottom:16px}.patient-group-header{padding:8px 0;font-weight:500;color:#888;border-bottom:1px solid #eee;margin-bottom:8px}.patient-card{display:flex;align-items:center;padding:16px;margin-bottom:8px;background-color:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:all .2s ease;position:relative;grid-gap:12px;gap:12px}.patient-card.ongoing-treatment{border-left:4px solid #4caf50;padding-left:20px}.patient-card.ongoing-treatment:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:#4caf50;border-top-left-radius:12px;border-bottom-left-radius:12px}.patient-initials{width:40px;height:40px;border-radius:50%;background-color:#f0f0f0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#333;font-size:16px;flex-shrink:0}.patient-info{flex:1 1;min-width:0}.patient-info h3{margin:0;font-size:16px;font-weight:600;color:#333;display:flex;align-items:center;grid-gap:8px;gap:8px}.patient-info p{margin:4px 0 0;font-size:14px;color:#888}.ongoing-indicator{font-size:12px;opacity:.8}.ongoing-note-display{flex-shrink:0;max-width:120px;padding:6px 10px;border-radius:8px;margin-left:auto;transition:all .2s ease}.ongoing-note-display.active{background-color:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3)}.ongoing-note-display.active .ongoing-note-text{color:#2e7d32}.ongoing-note-display.inactive{background-color:hsla(0,0%,50.2%,.1);border:1px solid hsla(0,0%,50.2%,.3)}.ongoing-note-display.inactive .ongoing-note-text{color:#666}.ongoing-note-text{font-size:12px;font-weight:500;line-height:1.2;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.no-patients{text-align:center;padding:32px 16px;color:#888;background-color:#fff;border-radius:12px;margin:0 16px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.message{margin:10px 0;padding:10px;border-radius:4px;text-align:center}.success{background-color:rgba(76,175,80,.1);color:#4caf50;border:1px solid #4caf50}.error{background-color:rgba(244,67,54,.1);color:#f44336;border:1px solid #f44336}.resend-button{margin-top:10px;background:none;border:none;color:#06c;cursor:pointer;font-size:14px;text-decoration:underline}.otp-input{letter-spacing:5px;font-size:18px;text-align:center}button:disabled{opacity:.7;cursor:not-allowed}.debug-toggle{position:absolute;top:10px;right:10px;padding:5px;opacity:.7;cursor:pointer;font-size:12px;border-radius:3px;transition:all .2s ease}.debug-toggle:hover{opacity:1}.debug-toggle.active{background-color:rgba(255,0,0,.1);border:1px solid rgba(255,0,0,.3)}.debug-indicator{background-color:rgba(255,0,0,.1);color:red;padding:5px 10px;margin-bottom:10px;border-radius:3px;font-size:14px;text-align:center;font-weight:500}.welcome-toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:1000;width:90%;max-width:400px;animation:fadeInOut 8s ease-in-out}.welcome-toast-content{background-color:rgba(65,105,225,.95);color:#fff;padding:12px 20px;border-radius:8px;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.15);font-size:14px;line-height:1.4}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-20px)}10%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}.initial-loading{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f8f9fa}.pulse-loader{width:40px;height:40px;border-radius:50%;background-color:#0e7490;opacity:.6;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%{transform:scale(.8);opacity:.6}50%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:.6}}.page-loader{display:flex;justify-content:center;align-items:center;height:calc(100vh - 60px);background-color:#f8f9fa}.loader-spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(14,116,144,.2);border-top-color:#0e7490;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.notification-loader{width:16px;height:16px;border-radius:50%;border:2px solid rgba(14,116,144,.2);border-top-color:#0e7490;animation:spin .8s linear infinite;margin:4px}.skeleton-box{display:inline-block;height:1em;position:relative;overflow:hidden;background-color:#dddbdd;border-radius:4px}.skeleton-box:after{position:absolute;top:0;right:0;bottom:0;left:0;transform:translateX(-100%);background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.2) 20%,hsla(0,0%,100%,.5) 60%,hsla(0,0%,100%,0));animation:shimmer 2s infinite;content:""}.app-version{padding:4px 0;text-align:right;font-size:12px;color:#666;background-color:initial;position:fixed;bottom:70px;right:10px;z-index:10}.version-text{margin:0}.dentist-home-container{height:100vh;display:flex;flex-direction:column;overflow:hidden}.dentist-header{flex-shrink:0}.dentist-content{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:70px}.tab-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;background-color:#fff;box-shadow:0 -2px 10px rgba(0,0,0,.1)}.debug-indicator,.debug-toggle.active{display:none!important}.error{background-color:initial;border:none;color:#666;text-align:center;padding:20px}@media (max-width:480px){.ongoing-note-display{max-width:100px}.ongoing-note-text{font-size:11px}.patient-card{padding:12px}}@keyframes shimmer{to{transform:translateX(100%)}}.message.warning{color:#856404}.message.warning,.subscription-warning{background-color:#fff3cd;border:1px solid #ffeaa7}.subscription-warning{border-radius:8px;padding:15px;margin-top:20px;text-align:center}.subscription-warning h4{color:#856404;margin:0 0 10px;font-size:1.1rem}.subscription-warning p{color:#856404;margin:0;line-height:1.4;font-size:.9rem}.grace-period-banner{position:fixed;top:0;left:0;right:0;background-color:#dc3545;color:#fff;z-index:9999;box-shadow:0 2px 10px rgba(0,0,0,.1)}.banner-content{padding:12px 20px;text-align:center;font-size:.95rem;line-height:1.4}.banner-content strong{font-weight:600}.banner-content a{color:#fff;text-decoration:underline;font-weight:600;margin-left:5px}.banner-content a:hover{color:#f8f9fa}.grace-period-banner+*{margin-top:50px}@media (max-width:768px){.banner-content{padding:10px 15px;font-size:.9rem}.grace-period-banner+*{margin-top:45px}}.subscription-blocked-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px}.blocked-content{background:#fff;border-radius:16px;padding:40px;max-width:600px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.2);text-align:center}.blocked-logo .logo{font-size:2.5rem;font-weight:800;margin-bottom:20px}.blocked-logo .blue{color:#007bff}.blocked-logo .green{color:#28a745}.blocked-icon{font-size:4rem;margin:20px 0;opacity:.7}.blocked-message h2{color:#dc3545;font-size:1.8rem;margin-bottom:15px;font-weight:600}.blocked-message p{color:#6c757d;font-size:1.1rem;line-height:1.6;margin-bottom:30px}.subscription-details{background-color:#f8f9fa;border-radius:8px;padding:20px;margin:30px 0;text-align:left}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e9ecef}.detail-row:last-child{border-bottom:none}.detail-row .label{font-weight:600;color:#495057}.detail-row .value{color:#2c3e50}.expired-date{color:#dc3545!important;font-weight:600}.renewal-info{margin:30px 0}.renewal-info h3{color:#2c3e50;margin-bottom:20px;font-size:1.3rem}.plan-options{display:grid;grid-gap:15px;gap:15px;margin-bottom:30px}.plan-option{background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:15px;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.plan-option:hover{border-color:#007bff;background-color:#f0f8ff}.plan-option strong{color:#2c3e50;font-size:1rem}.plan-option span{color:#007bff;font-weight:600;font-size:1.1rem}.plan-option small{display:block;color:#28a745;font-size:.8rem;font-weight:600;margin-top:4px}.contact-info{background-color:#e7f3ff;border:1px solid #b3d9ff;border-radius:8px;padding:20px;text-align:left}.contact-info p{margin:8px 0;color:#0056b3}.contact-info strong{color:#2c3e50}.contact-info a{color:#007bff;text-decoration:none;font-weight:600}.contact-info a:hover{text-decoration:underline}.action-buttons{display:flex;grid-gap:15px;gap:15px;justify-content:center;margin:30px 0}.refresh-button{background-color:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease;min-width:150px}.refresh-button:hover{background-color:#0056b3}.refresh-button:disabled{background-color:#6c757d;cursor:not-allowed}.logout-button{background-color:initial;color:#6c757d;border:2px solid #dee2e6;padding:12px 24px;font-size:1rem;transition:all .3s ease;min-width:100px}.logout-button:hover{background-color:#f8f9fa;border-color:#adb5bd}.help-text{margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef}.help-text p{color:#6c757d;font-size:.9rem;margin:0;font-style:italic}@media (max-width:768px){.blocked-content{padding:30px 20px;margin:10px}.blocked-logo .logo{font-size:2rem}.blocked-icon{font-size:3rem}.blocked-message h2{font-size:1.5rem}.action-buttons{flex-direction:column}.logout-button,.refresh-button{width:100%}.detail-row{flex-direction:column;align-items:flex-start;grid-gap:5px;gap:5px}}.add-establishment-container{max-width:1200px;margin:0 auto;padding:20px;background-color:#f8f9fa;min-height:100vh}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.header-content h1{color:#2c3e50;font-size:2rem;margin-bottom:5px}.header-content p{color:#6c757d;margin:0}.form-message{padding:15px 20px;border-radius:8px;margin-bottom:25px;font-weight:500;text-align:center}.form-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.form-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.step-indicator{justify-content:center;margin-bottom:40px;background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.step,.step-indicator{display:flex;align-items:center}.step{flex-direction:column;text-align:center}.step-number{width:40px;height:40px;border-radius:50%;background-color:#e9ecef;color:#6c757d;display:flex;align-items:center;justify-content:center;font-weight:600;margin-bottom:8px;transition:all .3s ease}.step.active .step-number{background-color:#007bff;color:#fff}.step-title{font-size:.9rem;color:#6c757d;font-weight:500}.step.active .step-title{color:#007bff;font-weight:600}.step-line{width:80px;height:2px;background-color:#e9ecef;margin:0 20px}.form-container{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.form-step h3{color:#2c3e50;font-size:1.5rem;margin-bottom:25px;text-align:center}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px;gap:20px;margin-bottom:30px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group label{font-weight:600;color:#495057;margin-bottom:8px;font-size:.9rem}.form-input,.form-textarea{padding:12px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .3s ease;background-color:#fff}.form-input:focus,.form-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.form-textarea{resize:vertical;min-height:80px}.doctors-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.add-doctor-button{background-color:#28a745;color:#fff;border:none;padding:10px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.add-doctor-button:hover{background-color:#218838}.doctor-form{border:2px solid #e9ecef;border-radius:12px;padding:25px;margin-bottom:25px;background-color:#f8f9fa}.doctor-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.doctor-form-header h4{color:#2c3e50;margin:0;font-size:1.2rem}.remove-doctor-button{background-color:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:.8rem;cursor:pointer;transition:background-color .3s ease}.remove-doctor-button:hover{background-color:#c82333}.form-actions{display:flex;justify-content:center;grid-gap:20px;gap:20px;margin-top:40px;padding-top:20px;border-top:1px solid #e9ecef}.next-button,.prev-button,.submit-button{padding:12px 30px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;min-width:150px}.next-button,.submit-button{background-color:#007bff;color:#fff}.next-button:hover,.submit-button:hover{background-color:#0056b3}.prev-button{background-color:initial;color:#6c757d;border:2px solid #dee2e6}.prev-button:hover{background-color:#f8f9fa;border-color:#adb5bd}.next-button:disabled,.prev-button:disabled,.submit-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.add-establishment-container{padding:15px}.form-header{flex-direction:column;grid-gap:15px;gap:15px;text-align:center}.step-indicator{flex-direction:column;grid-gap:20px;gap:20px}.step-line{width:2px;height:30px;margin:10px 0}.form-grid{grid-template-columns:1fr}.doctors-header{grid-gap:15px;gap:15px}.doctor-form-header,.doctors-header{flex-direction:column;align-items:stretch}.doctor-form-header{grid-gap:10px;gap:10px}.form-actions{flex-direction:column}.next-button,.prev-button,.submit-button{width:100%}}.admin-dashboard{max-width:1400px;margin:0 auto;padding:20px;background-color:#f8f9fa;min-height:100vh}.password-form-container{display:flex;justify-content:center;align-items:center;min-height:80vh}.password-form{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.1);text-align:center;max-width:400px;width:100%}.lock-icon{font-size:3rem;margin-bottom:20px;color:#6c757d}.password-form h2{color:#2c3e50;margin-bottom:10px;font-size:1.8rem}.password-form p{color:#6c757d;margin-bottom:30px;line-height:1.5}.password-input-group{display:flex;flex-direction:column;grid-gap:15px;gap:15px}.password-input{padding:12px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.password-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.password-submit{background-color:#007bff;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.password-submit:hover{background-color:#0056b3}.password-error{background-color:#f8d7da;color:#721c24;padding:10px 15px;border-radius:6px;margin-top:15px;font-size:.9rem}.admin-header{margin-bottom:30px}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;grid-gap:20px;gap:20px}.header-actions{display:flex;grid-gap:15px;gap:15px;align-items:center}.add-establishment-button{background-color:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.add-establishment-button:hover{background-color:#218838}.header-content>div h1{color:#2c3e50;font-size:2.5rem;margin-bottom:8px}.header-content>div p{color:#6c757d;font-size:1.1rem;margin:0}.logout-button{background-color:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.logout-button:hover{background-color:#c82333}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px;margin-bottom:30px}.stat-card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1);text-align:center;border-left:4px solid #007bff}.stat-card.active{border-left-color:#28a745}.stat-card.expired{border-left-color:#dc3545}.stat-card.trial{border-left-color:#17a2b8}.stat-card.trial-expired{border-left-color:#fd7e14}.stat-card.no-sub{border-left-color:#6c757d}.stat-card h3{font-size:2.5rem;margin:0 0 8px;color:#2c3e50;font-weight:700}.stat-card p{margin:0;color:#6c757d;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.filters-section{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1);margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;grid-gap:15px;gap:15px}.search-box input{padding:10px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;width:300px;transition:border-color .3s ease}.search-box input:focus{outline:none;border-color:#007bff}.filter-buttons{display:flex;grid-gap:10px;gap:10px;flex-wrap:wrap}.filter-buttons button{padding:8px 16px;border:2px solid #e9ecef;background:#fff;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.filter-buttons button:hover{background-color:#f8f9fa;border-color:#007bff}.filter-buttons button.active{background-color:#007bff;color:#fff;border-color:#007bff}.establishments-table{background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1);overflow:hidden}.establishments-table table{width:100%;border-collapse:collapse}.establishments-table th{background-color:#f8f9fa;padding:15px 12px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.establishments-table td{padding:15px 12px;border-bottom:1px solid #dee2e6;vertical-align:middle}.establishments-table tr:hover{background-color:#f8f9fa}.establishment-info strong{display:block;color:#2c3e50;margin-bottom:4px}.establishment-info small{color:#6c757d;font-size:.8rem}.date-info{font-size:.85rem}.date-info div{margin:2px 0}.date-info div:first-child{color:#28a745;font-weight:500}.date-info div:last-child{color:#dc3545;font-weight:500}.status-badge{display:inline-block;padding:4px 12px;border-radius:15px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.expired{background-color:#f8d7da;color:#721c24}.status-badge.expiring{background-color:#fff3cd;color:#856404}.status-badge.trial{background-color:#d1ecf1;color:#0c5460}.status-badge.trial-expired{background-color:#fff3cd;color:#856404}.status-badge.no-subscription{background-color:#e2e3e5;color:#383d41}.action-button{background-color:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background-color .3s ease}.action-button:hover{background-color:#0056b3}.action-button:disabled{background-color:#6c757d;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.2)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #dee2e6}.modal-header h3{margin:0;color:#2c3e50}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6c757d;padding:5px;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease}.close-button:hover{background-color:#f8f9fa}.modal-body{padding:20px}.establishment-details{margin-bottom:25px;padding:15px;background-color:#f8f9fa;border-radius:8px}.establishment-details h4{margin:0 0 8px;color:#2c3e50}.establishment-details p{margin:4px 0;color:#6c757d;font-size:.9rem}.plan-selection label{display:block;margin-bottom:8px;font-weight:600;color:#495057}.plan-selection select{width:100%;padding:10px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;background-color:#fff;transition:border-color .3s ease}.plan-selection select:focus{outline:none;border-color:#007bff}.date-selection{margin-top:20px}.date-selection label{display:block;margin-bottom:8px;font-weight:600;color:#495057}.date-input{width:100%;padding:10px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;background-color:#fff;transition:border-color .3s ease}.date-input:focus{outline:none;border-color:#007bff}.date-display-indian{margin-top:8px;padding:8px 12px;background-color:#f8f9fa;border-radius:6px;font-size:.9rem;color:#495057;border-left:3px solid #007bff}.end-date-display{margin-top:20px;padding:15px;background-color:#f8f9fa;border-radius:8px;border-left:4px solid #28a745}.end-date-display label{display:block;margin-bottom:5px;font-weight:600;color:#495057;font-size:.9rem}.calculated-date{font-size:1.1rem;font-weight:600;color:#28a745}.modal-actions{display:flex;justify-content:flex-end;grid-gap:10px;gap:10px;padding:20px;border-top:1px solid #dee2e6}.save-button{background-color:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.save-button:hover{background-color:#218838}.save-button:disabled{background-color:#6c757d;cursor:not-allowed}.cancel-button{background-color:initial;color:#6c757d;border:2px solid #dee2e6;padding:10px 20px;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .3s ease}.cancel-button:hover{background-color:#f8f9fa;border-color:#adb5bd}.loading-spinner,.no-results{text-align:center;padding:40px;color:#6c757d;font-size:1.1rem}.error-message{background-color:#f8d7da;color:#721c24;padding:15px;border-radius:8px;margin-bottom:20px;text-align:center}@media (max-width:768px){.admin-dashboard{padding:15px}.filters-section{flex-direction:column;align-items:stretch}.search-box input{width:100%}.filter-buttons{justify-content:center}.establishments-table{overflow-x:auto}.establishments-table table{min-width:800px}.modal{width:95%;margin:20px}.modal-actions{flex-direction:column}.cancel-button,.save-button{width:100%}}
/*# sourceMappingURL=main.0f58165c.chunk.css.map */