body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.appointment-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.appointment-form-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;position:relative;width:100%}.appointment-form-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;padding:25px 30px;position:relative}.appointment-form-header h2{font-size:28px;font-weight:600;margin:0 0 20px}.step-indicator{gap:15px;margin-bottom:10px}.step,.step-indicator{align-items:center;display:flex}.step{background:#ffffff4d;border-radius:50%;color:#fff;font-weight:600;height:40px;justify-content:center;transition:all .3s ease;width:40px}.step.active{background:#ffffffe6;color:#667eea;transform:scale(1.1)}.step.completed{background:#4caf50;color:#fff}.step-line{background:#ffffff4d;border-radius:1px;flex:1 1;height:2px}.close-btn{font-size:24px;height:35px;padding:5px;position:absolute;right:20px;top:15px;transition:all .3s ease;width:35px}.close-btn:hover{background:#fff3}.appointment-form{padding:30px}.form-step{min-height:400px}.form-step h3{color:#333;font-size:24px;font-weight:600;margin-bottom:25px}.patient-type-selector{background:#f8f9fa;border-radius:8px;display:flex;gap:20px;margin-bottom:25px;padding:20px}.patient-type-selector label{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-weight:500;gap:10px;justify-content:center;padding:15px 20px;transition:all .3s ease}.patient-type-selector label:hover{border-color:#667eea}.patient-type-selector input[type=radio]:checked+span{color:#667eea}.patient-type-selector input[type=radio]{accent-color:#667eea}.form-group{margin-bottom:20px}.form-row{grid-gap:20px;gap:20px}.form-group label{color:#555;font-size:14px;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;padding:12px 15px;transition:all .3s ease}.form-group input.error,.form-group select.error{border-color:#f44336}.error-text{color:#f44336;font-size:12px;margin-top:5px}.selected-patient-info{background:#f0f7ff;border:1px solid #667eea;border-radius:8px;margin-top:20px;padding:20px}.patient-card{background:#fff;border-left:4px solid #667eea;border-radius:8px;padding:15px}.patient-details strong{color:#333;font-size:16px}.patient-details p{color:#666;margin:5px 0}.time-slots-section{margin-top:20px}.time-slots-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:10px;max-height:300px;overflow-y:auto}.time-slot{border:2px solid #e1e5e9;border-radius:8px;cursor:pointer;flex-direction:column;font-size:14px;justify-content:center;min-height:70px;padding:10px;position:relative;transition:all .2s ease}.time-slot:hover:not(:disabled){border-color:#0056b3;box-shadow:0 2px 8px #0056b333;transform:translateY(-1px)}.time-slot.selected{background:#e3f2fd;border-color:#007bff!important;color:#0056b3;font-weight:600}.time-slot.booked{background:#ffebee;border-color:#dc3545;color:#721c24;cursor:not-allowed}.time-slot.booked:hover{box-shadow:none;transform:none}.time-slot:disabled{cursor:not-allowed;opacity:.6}.slot-time{font-weight:600;margin-bottom:2px}.slot-duration{color:#666;font-size:11px;margin-bottom:2px}.slot-patient{background:#dc35451a;border-radius:3px;color:#721c24;font-size:10px;margin-top:4px;overflow:hidden;padding:2px 4px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.slot-legend{background:#f8f9fa;border-radius:6px;display:flex;flex-wrap:wrap;gap:15px;margin-top:15px;padding:10px}.legend-item{font-size:12px;gap:6px}.legend-color{border:2px solid;border-radius:3px;height:16px;width:16px}.legend-color.available{background:#fff;border-color:#e1e5e9}.legend-color.booked{background:#ffebee;border-color:#dc3545}.legend-color.selected{background:#e3f2fd;border-color:#007bff}.no-slots-message{background:#fff3cd;border:1px solid #ffeaa7;margin-top:15px;padding:20px}.no-slots-message p{color:#856404;margin:0}.service-selection{margin-bottom:25px}.service-cards{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:15px}.service-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.service-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.service-card:hover{border-color:#667eea;box-shadow:0 5px 15px #667eea33}.service-card.selected:before,.service-card:hover:before{transform:scaleX(1)}.service-card.selected{background:#f0f7ff;border-color:#667eea}.service-info h4{color:#333;font-size:16px;margin:0 0 8px}.service-info p{color:#666;font-size:14px;margin:0 0 12px}.service-price{color:#667eea;font-size:20px;font-weight:700}.appointment-summary{background:#f8f9fa;border-radius:12px;margin-top:20px;padding:25px}.summary-section{border-bottom:1px solid #e0e0e0;margin-bottom:20px;padding-bottom:20px}.summary-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.summary-section h4{color:#667eea;font-size:16px;font-weight:600;margin:0 0 15px}.summary-section p{color:#555;line-height:1.5;margin:8px 0}.summary-section strong{color:#333;font-weight:600}.form-actions{align-items:center;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-top:40px;padding-top:25px}.error-message{background:#ffebee;border:1px solid #f44336;margin-bottom:15px;padding:12px 15px;width:100%}.error-message .error-text{color:#f44336;font-size:14px;font-weight:500;margin:0}.btn-cancel,.btn-primary,.btn-secondary,.btn-submit{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:100px;padding:12px 25px;transition:all .3s ease}.btn-primary:hover{background:#5a67d8;box-shadow:0 5px 15px #667eea66}.btn-secondary{background:#6c757d}.btn-secondary:hover{background:#5a6268}.btn-submit{background:linear-gradient(135deg,#4caf50,#45a049)}.btn-submit:hover{box-shadow:0 5px 15px #4caf5066;transform:translateY(-1px)}.btn-cancel{background:#0000;border:2px solid #6c757d;color:#6c757d}.btn-cancel:hover{background:#6c757d;color:#fff}.btn-cancel:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-submit:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.appointment-form-overlay{padding:10px}.appointment-form-container{max-height:95vh}.appointment-form-header{padding:20px}.appointment-form-header h2{font-size:24px}.appointment-form{padding:20px}.form-row{gap:15px;grid-template-columns:1fr}.patient-type-selector{flex-direction:column;gap:10px}.service-cards{grid-template-columns:1fr}.time-slots-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.form-actions{flex-direction:column;gap:10px}.form-actions button{width:100%}.step-indicator{gap:10px}.step{font-size:14px;height:35px;width:35px}}.form-loading{position:relative}.form-loading:after{align-items:center;background:#fffc;bottom:0;content:"";display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-step{animation:slideInUp .4s ease-out}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible,.service-card:focus-visible,.time-slot:focus-visible{outline:2px solid #667eea;outline-offset:2px}.calendar-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;overflow:hidden;width:100%}.calendar-controls{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex-wrap:wrap;justify-content:space-between;padding:1.5rem 2rem}.calendar-controls,.calendar-navigation{align-items:center;display:flex;gap:1rem}.nav-btn{align-items:center;background:#fff3;border:1px solid #ffffff4d;display:flex;font-size:1.2rem;height:40px;justify-content:center;min-width:40px;padding:.5rem 1rem;transition:all .3s ease}.nav-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.current-period h2{font-size:1.5rem;font-weight:600;margin:0;min-width:200px;text-align:center}.today-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.today-btn:hover{background:#ffffff4d}.calendar-view-controls{display:flex;gap:1rem}.view-mode-buttons{background:#ffffff1a;border-radius:6px;display:flex;overflow:hidden}.view-mode-btn{background:#0000;border:none;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.view-mode-btn:hover{background:#ffffff1a}.view-mode-btn.active{background:#fff3;font-weight:600}.calendar-filters{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:1.5rem;padding:1.5rem 2rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:#495057;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.date-picker,.filter-select{background:#fff;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;min-width:120px;padding:.5rem}.date-picker:focus,.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.calendar-content{padding:2rem}.calendar-grid.month-view{width:100%}.calendar-header-row{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:1px}.calendar-header-cell{background:#667eea;color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:center;text-transform:uppercase}.calendar-body{grid-gap:1px;background:#e9ecef;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.calendar-day{background:#fff;border:2px solid #0000;cursor:pointer;display:flex;flex-direction:column;min-height:120px;padding:.5rem;transition:all .3s ease}.calendar-day:hover{background:#f8f9fa;border-color:#667eea}.calendar-day.other-month{background:#f8f9fa;color:#adb5bd}.calendar-day.today{background:#e3f2fd;border-color:#2196f3}.calendar-day.selected{background:#e8f5e8;border-color:#4caf50}.day-header{margin-bottom:.5rem}.day-number{font-size:1.1rem;font-weight:600}.appointment-count{background:#667eea;border-radius:10px;color:#fff;font-size:.7rem;min-width:18px;padding:.2rem .4rem;text-align:center}.day-appointments{display:flex;flex:1 1;flex-direction:column;gap:.2rem}.calendar-appointment{align-items:center;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:.7rem;justify-content:space-between;padding:.2rem .4rem;transition:opacity .3s ease}.calendar-appointment:hover{opacity:.8}.appointment-patient{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-appointments{background:#f8f9fa;border-radius:3px;color:#6c757d;font-size:.7rem;margin-top:.2rem;padding:.2rem;text-align:center}.calendar-grid.week-view{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(7,1fr)}.week-day{background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;min-height:400px}.week-day.today{background:#e3f2fd;border-color:#2196f3}.week-day-header{background:#667eea;border-radius:8px 8px 0 0;color:#fff;padding:1rem;text-align:center}.day-name{display:block;font-weight:600;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.day-number{display:block;font-size:1.5rem;font-weight:700}.week-day-appointments{display:flex;flex:1 1;flex-direction:column;gap:.5rem;overflow-y:auto;padding:1rem}.week-appointment{background:#fff;border:1px solid #e9ecef;border-left-width:4px;border-radius:6px;cursor:pointer;padding:.75rem;transition:all .3s ease}.week-appointment:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.week-appointment .appointment-time{color:#667eea;font-weight:600;margin-bottom:.5rem}.patient-name{color:#2c3e50}.doctor-name,.service-type{color:#6c757d;font-size:.85rem}.appointment-status{border-radius:12px;font-size:.75rem;font-weight:600;margin-top:.5rem;padding:.25rem .5rem;text-align:center;text-transform:uppercase}.status-confirmed{background:#d4edda;color:#155724}.status-completed{background:#cce5ff;color:#004085}.status-in-progress{background:#d1ecf1;color:#0c5460}.no-appointments{color:#6c757d;font-style:italic;padding:2rem;text-align:center}.calendar-grid.day-view{background:#fff;border-radius:8px}.day-view-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.day-view-header h3{color:#2c3e50;font-size:1.5rem;margin:0}.day-appointments-count{background:#667eea;border-radius:20px;color:#fff;font-weight:600;padding:.5rem 1rem}.day-appointments-list{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.no-appointments-day{color:#6c757d;padding:4rem 2rem;text-align:center}.no-appointments-day p{font-size:1.1rem;margin:0}.day-appointment-card{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:12px;cursor:pointer;display:flex;gap:1.5rem;padding:1.5rem;transition:all .3s ease}.day-appointment-card:hover{border-color:#667eea;box-shadow:0 4px 20px #0000001a;transform:translateY(-2px)}.appointment-time-slot{align-items:center;background:#667eea;border-radius:8px;color:#fff;display:flex;flex-direction:column;min-width:100px;padding:1rem}.appointment-time-slot .time{font-size:1.2rem;font-weight:600;margin-bottom:.25rem}.appointment-time-slot .duration{font-size:.8rem;opacity:.9}.appointment-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.patient-info h4{color:#2c3e50;font-size:1.1rem;margin:0 0 .25rem}.patient-info p{color:#6c757d;font-size:.9rem;margin:0}.appointment-details{flex-wrap:wrap;gap:1rem}.appointment-details .doctor,.appointment-details .service{color:#495057;font-size:.9rem}.tag{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.tag-pre-book{background:#e1f5fe;color:#01579b}.tag-walk-in{background:#fff3e0;color:#e65100}.appointment-status-section{align-items:center;display:flex;flex-direction:column;gap:.5rem;min-width:80px}.status-badge{padding:.5rem 1rem}.appointment-amount{color:#28a745;font-size:1.1rem;font-weight:600}.calendar-legend{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;padding:1rem 2rem}.legend-item{align-items:center;color:#495057;display:flex;font-size:.85rem;gap:.5rem}.legend-color{border-radius:2px;height:12px;width:12px}.error-message{border-bottom:1px solid #f5c6cb}.close-error{align-items:center;display:flex;font-size:1.2rem;justify-content:center}.loading-calendar{padding:4rem 2rem;text-align:center}.loading-spinner{font-size:1.1rem}@media (max-width:1024px){.calendar-filters{gap:1rem}.filter-group{min-width:140px}.day-appointment-card{flex-direction:column;text-align:center}.appointment-info{align-items:center}}@media (max-width:768px){.calendar-controls{flex-direction:column;gap:1rem;padding:1rem}.calendar-navigation{flex-wrap:wrap;justify-content:center}.current-period h2{font-size:1.2rem;min-width:auto}.calendar-filters{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem}.filter-group{align-items:center;flex-direction:row;justify-content:space-between}.date-picker,.filter-select{min-width:150px}.calendar-content{padding:1rem}.calendar-day{min-height:80px;padding:.25rem}.calendar-grid.week-view{gap:.5rem;grid-template-columns:1fr}.week-day{min-height:200px}.calendar-legend,.day-appointment-card{gap:1rem;padding:1rem}}@media (max-width:480px){.calendar-header-cell{font-size:.8rem;padding:.5rem .25rem}.calendar-day{font-size:.8rem;min-height:60px}.day-number{font-size:1rem}.appointment-count,.calendar-appointment{font-size:.6rem;padding:.1rem .3rem}}.appointments-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.appointments-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:2rem}.appointments-header h2{color:#2c3e50;flex:1 1;font-size:1.8rem;font-weight:600;margin:0}.appointments-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.sort-order-btn{align-items:center;background:#f8f9fa;border:1px solid #ddd;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-size:1rem;font-weight:700;justify-content:center;min-width:40px;padding:.5rem .75rem;transition:all .3s ease}.sort-order-btn:hover{background:#e9ecef;border-color:#adb5bd}.date-range-btn{border:none;color:#fff}.date-range-btn:hover{background:#3595ee}.date-range-modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.date-range-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;max-width:95vw;width:700px}.date-range-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.date-range-header h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0}.date-range-body{padding:2rem}.date-inputs{display:flex;flex-direction:row;gap:1.5rem;margin-bottom:2rem}.date-input-group{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.date-input-group label{color:#495057;font-size:.9rem;font-weight:600}.date-input{border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.date-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.date-range-actions{border-top:1px solid #e9ecef;display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:1.5rem}.apply-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;min-width:120px;padding:.75rem 2rem;transition:background .3s ease}.apply-btn:hover:not(:disabled){background:#5a6fd8}.apply-btn:disabled{background:#adb5bd;cursor:not-allowed}.clear-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;min-width:120px;padding:.75rem 2rem;transition:background .3s ease}.date-range-btn{align-items:center;background:#f8f9fa;border:1px solid #ddd;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;min-width:40px;padding:.5rem .75rem;transition:all .3s ease}.date-range-btn:hover{background:#e9ecef;border-color:#adb5bd}.search-bar-container{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:1rem 2rem}.search-input-main{background:#fff;border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem 1rem;transition:border-color .3s ease;width:100%}.search-input-main:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.close-modal-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;min-width:120px;padding:.75rem 2rem;transition:background .3s ease}.close-modal-btn:hover{background:#c82333}.add-appointment-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .3s ease}.add-appointment-btn:hover{background:#5a6fd8}.appointments-stats{grid-gap:1.5rem;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:2rem}.appointments-table{overflow-x:auto;position:relative}.appointments-table table{border-collapse:collapse;min-width:1200px;width:100%}.appointments-table td,.appointments-table th{border-bottom:1px solid #e9ecef;padding:1rem;text-align:left}.appointments-table th{background:#f8f9fa;color:#495057;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.appointments-table td{vertical-align:top}.patient-info strong{color:#2c3e50;display:block;font-weight:600;margin-bottom:.25rem}.patient-info small{color:#6c757d;font-size:.85rem}.datetime-info strong{color:#2c3e50;display:block;font-weight:600;margin-bottom:.25rem}.datetime-info small{color:#6c757d;font-size:.85rem}.service-badge{background:#e7f3ff;border-radius:15px;color:#0366d6;display:block;font-size:.8rem;font-weight:500;letter-spacing:.5px;margin-bottom:.25rem;padding:.25rem .75rem;text-align:center;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.service-badge+small{color:#6c757d;font-size:.75rem}.status-badge{display:inline-block;margin-bottom:.25rem;min-width:80px;text-align:center}.sync-status{color:#6c757d;display:block;font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}.sync-status.synced{color:#28a745}.sync-status.failed{color:#dc3545}.sync-status.pending{color:#ffc107}.token-number{color:#6c757d;display:block;font-size:.75rem;margin-top:.25rem}.payment-info strong{color:#2c3e50;display:block;font-weight:600;margin-bottom:.25rem}.payment-status{border-radius:10px;font-size:.75rem;font-weight:500;letter-spacing:.5px;padding:.2rem .5rem;text-transform:uppercase}.payment-status.paid{background:#d4edda;color:#155724}.payment-status.pending{background:#fff3cd;color:#856404}.payment-status.refunded{background:#f8d7da;color:#721c24}.payment-status.failed{background:#f5c6cb;color:#721c24}.microsoft-id{background:#f8f9fa;border-radius:4px;color:#6c757d;font-family:monospace;font-size:.75rem;padding:.25rem .5rem}.btn-confirm{background:#28a745;color:#fff}.btn-confirm:hover:not(:disabled){background:#218838}.btn-complete{background:#007bff;color:#fff}.btn-complete:hover:not(:disabled){background:#0056b3}.btn-cancel{background:#fd7e14}.btn-cancel:hover:not(:disabled){background:#e8650e}.appointment-modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{box-shadow:0 20px 40px #0000001a;max-height:80vh;max-width:700px}.modal-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:1.5rem 2rem}.modal-header h3{color:#2c3e50;font-weight:600}.close-btn{color:#6c757d;height:30px;width:30px}.close-btn:hover{background:#e9ecef;color:#495057}.modal-body{padding:2rem}.detail-section{margin-bottom:2rem}.detail-section h4{border-bottom:2px solid #e9ecef;color:#667eea;font-size:1.1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.detail-section p{line-height:1.5;margin:.5rem 0}.detail-section strong{color:#495057;font-weight:600}.appointment-tag-badge{border-radius:15px;display:inline-block;font-size:.8rem;font-weight:500;min-width:90px;padding:.25rem .75rem;text-align:center}.appointment-tag-badge.pre-book{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.appointment-tag-badge.walk-in{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.appointment-tag-inline{border-radius:10px;font-size:.85rem;font-weight:500;margin-left:.5rem;padding:.2rem .5rem}.appointment-tag-inline.pre-book{background:#d4edda;color:#155724}.appointment-tag-inline.walk-in{background:#fff3cd;color:#856404}.view-mode-toggle{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;overflow:hidden}.view-toggle-btn{align-items:center;background:#0000;border:none;color:#495057;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.6rem 1rem;transition:all .3s ease}.view-toggle-btn:hover{background:#667eea1a;color:#667eea}.view-toggle-btn.active{background:#667eea;box-shadow:0 2px 4px #667eea4d;color:#fff}.view-toggle-btn:first-child{border-right:1px solid #e9ecef}.view-toggle-btn.active:first-child{border-right-color:#667eea}@media (max-width:768px){.appointments-controls,.appointments-header{align-items:stretch;flex-direction:column}.appointments-controls{gap:.5rem}.appointments-controls>*{width:100%}.search-input{min-width:150px}.appointments-stats{grid-template-columns:repeat(2,1fr)}.action-buttons{flex-direction:column;gap:.25rem}.modal-content{margin:1rem;max-height:90vh;width:calc(100% - 2rem)}.modal-body,.modal-header{padding:1rem}.appointments-table table{min-width:800px}.view-mode-toggle{order:-1;width:100%}.view-toggle-btn{flex:1 1;justify-content:center;padding:.8rem 1rem}}.quick-filters{margin-bottom:1.5rem}.quick-filters h4{color:#495057;font-size:1rem;font-weight:600;margin:0 0 1rem}.quick-filter-buttons{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr)}.quick-filter-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-weight:500;padding:.75rem 1rem;text-align:center;transition:all .3s ease}.quick-filter-btn:hover{background:#667eea;border-color:#667eea;color:#fff}.custom-range{border-top:1px solid #e9ecef;padding-top:1.5rem}.custom-range h4{color:#495057;font-size:1rem;font-weight:600;margin:0 0 1rem}.time-inputs{display:flex;flex-direction:row;gap:1.5rem;margin-top:1.5rem}.time-input-group{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.time-input-group label{color:#495057;font-size:.9rem;font-weight:600}.time-input{border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.time-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}@media (max-width:768px){.date-range-content{margin:1rem;width:95vw}.quick-filter-buttons{grid-template-columns:repeat(2,1fr)}.date-inputs,.time-inputs{flex-direction:column}}@media (max-width:480px){.quick-filter-buttons{grid-template-columns:1fr}}.date-range-btn.active{background:#667eea;border-color:#667eea;color:#fff;position:relative}.filter-indicator{align-items:center;background:#28a745;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:8px;height:12px;justify-content:center;position:absolute;right:-2px;top:-2px;width:12px}.active-filters-chip{align-items:center;background:#e3f2fd;border:1px solid #bbdefb;border-radius:20px;color:#1976d2;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;margin:1rem 2rem;padding:.5rem 1rem}.time-range{color:#666;font-size:.85rem}.clear-filter-btn{align-items:center;background:none;border:none;border-radius:50%;color:#1976d2;cursor:pointer;display:flex;font-size:1.2rem;height:20px;justify-content:center;margin-left:auto;padding:0;width:20px}.clear-filter-btn:hover{background:#1976d21a}.quick-filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.pagination-bar{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:.75rem 1.5rem}.pagination-bar-bottom{border-bottom:none;border-top:1px solid #e9ecef}.pagination-info{color:#6c757d;font-size:.9rem;white-space:nowrap}.pagination-controls{align-items:center;display:flex;gap:.4rem}.page-btn{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:.9rem;line-height:1;padding:.35rem .65rem;transition:all .2s ease}.page-btn:hover:not(:disabled){background:#667eea;border-color:#667eea;color:#fff}.page-btn:disabled{cursor:not-allowed;opacity:.4}.page-indicator{color:#495057;font-size:.9rem;padding:.35rem .75rem;white-space:nowrap}.page-size-selector{align-items:center;color:#6c757d;display:flex;font-size:.9rem;gap:.5rem}.page-size-selector .filter-select{font-size:.85rem;padding:.35rem .6rem}@media (max-width:768px){.pagination-bar{align-items:flex-start;flex-direction:column}}.user-form-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;overflow-y:auto;padding:1rem;position:fixed;top:0;width:100%;z-index:1000}.user-form-container{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;margin:auto;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.user-form-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.user-form-header h2{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.user-form-header .close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;transition:all .2s ease;width:30px}.user-form-header .close-btn:hover:not(:disabled){background:#e9ecef;color:#495057}.user-form-header .close-btn:disabled{cursor:not-allowed;opacity:.6}.user-form{padding:2rem}.form-section{border-bottom:1px solid #f0f0f0;padding-bottom:1.5rem}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section h3{border-bottom:2px solid #e9ecef;color:#667eea;font-size:1.2rem;margin:0 0 1.5rem}.form-group label{font-size:.9rem}.form-group input,.form-group select{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:.9rem;padding:.75rem;transition:border-color .3s ease,box-shadow .3s ease}.form-group input:focus,.form-group select:focus{box-shadow:0 0 0 2px #667eea1a}.form-group input.error,.form-group select.error{border-color:#dc3545;box-shadow:0 0 0 2px #dc35451a}.form-group input:disabled,.form-group select:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.6}.error-text{font-weight:500}.form-actions{border-top:1px solid #e9ecef;gap:1rem}.btn-cancel{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .3s ease}.btn-cancel:hover:not(:disabled){background:#5a6268}.btn-submit{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;min-width:120px;padding:.75rem 1.5rem;transition:background .3s ease}.btn-submit:hover:not(:disabled){background:#218838}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}.emergency-contact-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.emergency-contact-header h3{flex:1 1;margin:0}.emergency-contact-header .checkbox-group{flex-shrink:0;margin:0}.ms-booking-status{border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:1rem 0;overflow:hidden}.ms-booking-status.success{background-color:#ecfdf5;border:2px solid #10b981}.ms-booking-status.error{background-color:#fef2f2;border:2px solid #ef4444}.ms-booking-header{align-items:center;border-bottom:1px solid #0000001a;display:flex;justify-content:space-between;padding:1rem}.ms-booking-status.success .ms-booking-header{background-color:#d1fae5}.ms-booking-status.error .ms-booking-header{background-color:#fee2e2}.ms-booking-header h4{align-items:center;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0}.ms-booking-status.success .ms-booking-header h4{color:#065f46}.ms-booking-status.error .ms-booking-header h4{color:#991b1b}.close-details,.status-icon{font-size:1.2rem}.close-details{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;height:24px;justify-content:center;padding:.25rem;width:24px}.ms-booking-status.success .close-details{color:#065f46}.ms-booking-status.error .close-details{color:#991b1b}.close-details:hover{background-color:#0000001a}.ms-booking-content{padding:1rem}.ms-booking-content p{font-size:.9rem;line-height:1.4;margin:.5rem 0}.ms-booking-content p:first-child{margin-top:0}.ms-booking-content p:last-child{margin-bottom:0}.success-message p{color:#065f46}.error-message p{color:#991b1b}.ms-booking-content strong{font-weight:600}.ms-booking-status{animation:slideDown .3s ease-out}.debug-console{background:#1a1a1a;border:2px solid #333;border-radius:8px 0 0 0;bottom:0;box-shadow:0 -4px 20px #0000004d;color:#0f0;font-family:Courier New,monospace;font-size:.8rem;max-height:300px;overflow:hidden;position:fixed;right:0;width:400px;z-index:10000}.debug-header{align-items:center;background:#333;border-bottom:1px solid #555;color:#fff;display:flex;justify-content:space-between;padding:.5rem}.debug-header h4{font-size:.9rem;font-weight:600;margin:0}.debug-toggle{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;padding:.25rem}.debug-content{background:#1a1a1a;max-height:240px;overflow-y:auto;padding:.5rem}.debug-log{border-radius:3px;margin:.25rem 0;padding:.25rem;white-space:pre-wrap;word-break:break-word}.debug-log.info{background:#00ff000d;color:#0f0}.debug-log.error{background:#ff44440d;border-left:3px solid #f44;color:#f44;padding-left:.5rem}.debug-log.warning{background:#ffaa000d;border-left:3px solid #fa0;color:#fa0;padding-left:.5rem}.debug-log.success{background:#44ff440d;border-left:3px solid #4f4;color:#4f4;padding-left:.5rem}.debug-timestamp{color:#888;font-size:.75rem}@media (max-width:768px){.user-form-overlay{padding:.5rem}.user-form-container{border-radius:8px;margin:0;max-width:100%}.user-form-header{border-radius:8px 8px 0 0;padding:1rem}.user-form-header h2{font-size:1.3rem}.user-form{padding:1rem}.form-row{gap:0;grid-template-columns:1fr}.form-section h3{font-size:1.1rem}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{justify-content:center;width:100%}.debug-console{left:0;right:0;width:100%}.ms-booking-status{margin:.5rem}.ms-booking-content,.ms-booking-header{padding:.75rem}.ms-booking-content p{font-size:.85rem}}@media (max-width:480px){.user-form,.user-form-header{padding:.75rem}.form-group input,.form-group select{padding:.6rem}}.availability-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.availability-container{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:1000px;overflow-y:auto;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.availability-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #f0f0f0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:2rem}.availability-header h2{font-size:1.5rem;font-weight:600;margin:0}.close-btn{background:#fff3;transition:background-color .3s}.close-btn:hover{background:#ffffff4d}.doctor-selection{padding:2rem}.doctor-selection label{color:#333;display:block;font-weight:600;margin-bottom:.5rem}.doctor-selection select{background:#fff;border:2px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s;width:100%}.doctor-selection select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.loading{color:#666;font-style:italic;padding:2rem;text-align:center}.availability-tabs{background:#fafafa;border-bottom:2px solid #f0f0f0;display:flex}.tab-btn{background:none;border:none;color:#666;cursor:pointer;flex:1 1;font-weight:500;padding:1rem 1.5rem;position:relative;transition:all .3s}.tab-btn:hover{background:#667eea1a;color:#667eea}.tab-btn.active{color:#667eea;font-weight:600}.tab-btn.active:after{background:#667eea;bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.availability-content{max-height:60vh;overflow-y:auto;padding:2rem}.schedule-tab h3{color:#333;font-size:1.3rem;margin-bottom:1.5rem}.day-schedule{margin-bottom:1.5rem;overflow:hidden}.day-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:1rem}.day-label{align-items:center;color:#333;cursor:pointer;display:flex;font-weight:600;gap:.5rem}.day-label input[type=checkbox]{accent-color:#667eea;height:18px;width:18px}.time-slots{padding:1rem}.time-slot{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;gap:1rem;margin-bottom:.75rem;padding:.75rem}.time-slot input[type=time]{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem}.time-slot span{font-weight:500}.remove-slot-btn{background:#ff4757;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:background-color .3s}.remove-slot-btn:hover{background:#ff3742}.add-slot-btn{background:#2ed573;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background-color .3s}.add-slot-btn:hover{background:#26d365}.duration-tab h3,.duration-tab h4{color:#333;margin-bottom:1rem}.duration-settings{display:flex;flex-direction:column;gap:1.5rem}.form-group{gap:.5rem}.form-group input[type=number],.form-group input[type=text]{border:2px solid #ddd;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .3s}.duration-option{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:1rem;margin-bottom:.75rem;padding:1rem}.duration-option input[type=text]{flex:2 1}.duration-option input[type=number]{width:80px}.duration-option span{color:#666;font-size:.9rem}.duration-option label{align-items:center;display:flex;font-size:.9rem;gap:.5rem}.remove-option-btn{background:#ff4757;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:background-color .3s}.remove-option-btn:hover{background:#ff3742}.add-option-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background-color .3s}.add-option-btn:hover{background:#5a6fd8}.custom-duration-range{grid-gap:1rem;background:#f0f4ff;border:1px solid #d4e4ff;border-radius:8px;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:1rem;padding:1rem}.breaks-tab h3{color:#333;margin-bottom:1.5rem}.break-time{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:1rem;margin-bottom:1rem;padding:1rem}.break-time input[type=text],.break-time input[type=time],.break-time select{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem}.break-time select{min-width:120px}.break-time input[type=text]{flex:1 1}.break-time span{color:#666;font-weight:500}.break-time label{align-items:center;display:flex;font-size:.9rem;gap:.5rem;white-space:nowrap}.remove-break-btn{background:#ff4757;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:background-color .3s}.remove-break-btn:hover{background:#ff3742}.add-break-btn{background:#ffa502;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background-color .3s}.add-break-btn:hover{background:#ff9500}.availability-actions{background:#fafafa;border-radius:0 0 12px 12px;border-top:2px solid #f0f0f0;display:flex;gap:1rem;justify-content:flex-end;padding:2rem}.cancel-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;font-weight:500;padding:1rem 2rem;transition:background-color .3s}.dynamic-slot-configuration{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;margin-top:1rem;overflow:hidden}.slot-config-header{background:#f5f5f5;border-bottom:1px solid #e0e0e0;justify-content:space-between;padding:1rem}.expand-btn,.slot-config-header{align-items:center;cursor:pointer;display:flex}.expand-btn{background:none;border:none;color:#667eea;font-size:.9rem;font-weight:600;gap:.5rem;transition:color .3s}.expand-btn:hover{color:#5a6fd8}.expand-btn.expanded{color:#4c63d2}.slot-summary{align-items:center;gap:1rem}.avg-duration,.total-slots{background:#fff;border:1px solid #ddd;border-radius:12px;color:#666;font-size:.85rem;padding:.25rem .5rem}.slot-config-content{background:#fff;border-top:1px solid #e0e0e0;padding:1.5rem}.config-info{background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.config-info p{color:#1976d2;font-size:.9rem;margin:0 0 1rem}.reset-btn{background:#ff9800;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:background-color .3s}.reset-btn:hover{background:#f57c00}.half-hourly-periods{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.period-config{grid-gap:1rem;align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr;padding:1rem;transition:all .3s}.period-config.customized{background:#fff3e0;border-color:#ffb74d;box-shadow:0 2px 4px #ffb74d1a}.period-time{display:flex;flex-direction:column;gap:.25rem}.period-time strong{color:#333;font-size:.9rem}.custom-badge{background:#ff9800;border-radius:10px;font-size:.7rem;font-weight:500;letter-spacing:.5px;padding:.15rem .4rem}.slot-controls{display:flex;flex-direction:column;gap:.5rem}.slot-controls label{color:#666;font-size:.85rem;font-weight:500}.slot-input-group{gap:.25rem}.slot-btn,.slot-input-group{align-items:center;display:flex}.slot-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-weight:700;height:30px;justify-content:center;transition:all .2s;width:30px}.slot-btn:hover:not(:disabled){background:#f0f0f0;border-color:#ccc}.slot-btn:disabled{cursor:not-allowed;opacity:.5}.slot-btn.decrease{color:#f44336}.slot-btn.increase{color:#4caf50}.slot-count-input{border:1px solid #ddd;border-radius:4px;font-weight:700;padding:.4rem;text-align:center;width:50px}.slot-info{display:flex;flex-direction:column;font-size:.85rem;gap:.25rem}.slot-duration{color:#4caf50;font-weight:600}.slot-times{color:#666;font-size:.8rem}.no-slots-warning{background:#ffebee;border-radius:4px;color:#c62828;font-size:.85rem;grid-column:1/-1;margin-top:.5rem;padding:.75rem;text-align:center}.config-summary{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1.5rem}.summary-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem}.stat{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-direction:column;gap:.25rem;padding:.75rem}.stat label{color:#666;font-size:.8rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.stat span{color:#333;font-size:1.1rem;font-weight:700}.example-schedule{background:#f0f4ff;border:1px solid #d4e4ff;border-radius:6px;padding:1rem}.example-schedule h5{color:#1976d2;font-size:.9rem;margin:0 0 .75rem}.schedule-preview{display:flex;flex-direction:column;gap:.5rem}.preview-period{color:#333;font-size:.85rem}.preview-period strong{color:#1976d2}.preview-more{color:#666;font-size:.8rem;font-style:italic;margin-top:.5rem;text-align:center}.time-slot-container{background:#fefefe;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.5rem;padding:1rem}@media (max-width:768px){.period-config{gap:.75rem;grid-template-columns:1fr;text-align:center}.slot-input-group{justify-content:center}.summary-stats{grid-template-columns:repeat(2,1fr)}.slot-summary{align-items:flex-end;flex-direction:column;gap:.5rem}}@media (max-width:480px){.slot-config-header{align-items:stretch;flex-direction:column;gap:.75rem}.expand-btn,.slot-summary{justify-content:center}.slot-summary{align-items:center}.config-summary{padding-top:1rem}.summary-stats{grid-template-columns:1fr}}@media (max-width:768px){.availability-container{max-height:95vh;width:95%}.availability-header{padding:1.5rem}.availability-header h2{font-size:1.2rem}.availability-tabs{flex-direction:column}.tab-btn{padding:.75rem 1rem}.availability-content{padding:1.5rem}.time-slot{flex-wrap:wrap;gap:.5rem}.duration-option{flex-wrap:wrap;gap:.75rem}.duration-option input[type=text]{flex:1 1;min-width:150px}.break-time{flex-wrap:wrap;gap:.75rem}.custom-duration-range{grid-template-columns:1fr}.availability-actions{flex-direction:column;gap:.75rem}.cancel-btn,.save-btn{width:100%}}@media (max-width:480px){.availability-container{border-radius:8px;height:98vh;width:98%}.availability-header{border-radius:8px 8px 0 0;padding:1rem}.availability-header h2{font-size:1.1rem}.close-btn{font-size:1.3rem;height:35px;width:35px}.availability-content{max-height:calc(98vh - 200px);padding:1rem}.break-time,.duration-option,.time-slot{align-items:stretch;flex-direction:column}.time-slot span{margin:.25rem 0;text-align:center}}.slot-management{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin:0 auto;max-width:1400px;padding:2rem}.slot-management-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.slot-management-header h2{color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.close-btn{background:#e74c3c;font-size:1.5rem;transition:background .3s ease}.close-btn:hover{background:#c0392b}.slot-management-controls{grid-gap:2rem;background:#f8f9fa;border-radius:8px;display:grid;gap:2rem;grid-template-columns:1fr 2fr;margin-bottom:2rem;padding:1.5rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{color:#495057;font-weight:600}.control-group input,.control-group select{border:2px solid #e9ecef;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.control-group input:focus,.control-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.date-navigation{align-items:center;display:flex;gap:.5rem}.nav-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1rem;transition:background .3s ease}.nav-btn:hover:not(:disabled){background:#5a67d8}.nav-btn:disabled{background:#cbd5e0;cursor:not-allowed}.date-navigation input[type=date]{flex:1 1;margin:0 .5rem}.date-display{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;margin-bottom:2rem;padding:1.5rem;text-align:center}.date-display h3{font-size:1.8rem;font-weight:600;margin:0 0 1rem}.slot-summary{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.summary-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;font-weight:600;padding:.5rem 1rem}.summary-item.available{border:2px solid #2ecc7180}.summary-item.reserved{border:2px solid #e74c3c80}.summary-item.total{border:2px solid #ffffff80}.loading-container{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:4rem}.no-availability,.no-slots{color:#6c757d;padding:4rem;text-align:center}.no-availability h3,.no-slots h3{color:#495057;margin:0 0 1rem}.time-ranges{display:flex;flex-direction:column;gap:2rem}.time-range{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:1.5rem;transition:border-color .3s ease}.time-range:hover{border-color:#667eea}.time-range-header{border-bottom:1px solid #dee2e6;color:#495057;font-size:1.4rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.5rem}.half-hour-period{margin-bottom:2rem}.half-hour-period:last-child{margin-bottom:0}.period-header{color:#6c757d;font-size:1.1rem;font-weight:600;justify-content:space-between;margin:0 0 1rem}.period-header,.period-info{align-items:center;display:flex}.period-info{color:#868e96;font-size:.9rem;gap:.5rem}.custom-badge{background:#e74c3c;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .5rem;text-transform:uppercase}.slots-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:1rem}.no-slots-message{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#adb5bd;font-style:italic;grid-column:1/-1;padding:2rem;text-align:center}.slot-button{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:.3rem;min-height:100px;overflow:hidden;padding:1rem;position:relative;transition:all .3s ease}.slot-button:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.slot-button:disabled{cursor:not-allowed;opacity:.7}.slot-time{color:#495057;font-size:1rem;font-weight:700}.slot-duration{color:#6c757d;font-size:.8rem}.slot-status{background:#ffffffe6;border-radius:4px;font-size:.7rem;font-weight:600;padding:.2rem .4rem;text-transform:uppercase}.slot-updating{animation:pulse 1s infinite;color:#667eea;font-size:1.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.slot-available{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#28a745}.slot-available:hover{background:linear-gradient(135deg,#c3e6cb,#b6dfbb);border-color:#20c997}.slot-blocked{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#dc3545;color:#721c24}.slot-blocked:hover{border-color:#c82333}.slot-reserved{background:linear-gradient(135deg,#e2d9f3,#d9c7e7);border-color:#6f42c1;color:#3d1a5f}.slot-reserved:hover{border-color:#5a2d91}.slot-maintenance{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border-color:#fd7e14;color:#8b4513}.slot-maintenance:hover{border-color:#e55a00}.slot-emergency{background:linear-gradient(135deg,#ff7675,#fd79a8);border-color:#e74c3c;color:#fff}.slot-emergency:hover{border-color:#c0392b}.slot-hidden{background:linear-gradient(135deg,#e2e3e5,#d3d4d7);border-color:#6c757d;color:#383d41;opacity:.75}.slot-hidden:hover{border-color:#545b62;opacity:1}.slot-hidden-badge{background:#6c757d;border-radius:3px;color:#fff;font-size:.65rem;margin-top:2px;padding:1px 4px}.slot-visibility-section{margin-top:.5rem}.slot-visibility-section hr{border:none;border-top:1px solid #dee2e6;margin:1rem 0}.slot-visibility-section h4{color:#495057;font-size:1rem;margin:0 0 .75rem}.current-hidden-info{background:#f8f9fa;border:1px solid #dee2e6;border-left:4px solid #6c757d;border-radius:6px;font-size:.9rem;margin-bottom:.75rem;padding:.75rem 1rem}.current-hidden-info p{margin:.2rem 0}.hide-slot-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.2rem;transition:background .2s ease}.hide-slot-btn:hover:not(:disabled){background:#545b62}.unhide-btn{background:#17a2b8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.2rem;transition:background .2s ease}.unhide-btn:hover:not(:disabled){background:#138496}.hide-form{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:.75rem 1rem}.hide-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.hide-confirm-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.2rem;transition:background .2s ease}.hide-confirm-btn:hover:not(:disabled){background:#545b62}.hide-confirm-btn:disabled,.hide-slot-btn:disabled,.unhide-btn:disabled{cursor:not-allowed;opacity:.5}.summary-item.hidden{background:#e2e3e5;border-color:#d3d4d7;color:#383d41}.bulk-hidden{background:#e2e3e5;border:1px solid #d3d4d7;color:#383d41}.bulk-hide-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.2rem;transition:all .2s ease}.bulk-hide-btn:hover:not(:disabled){background:#545b62}.bulk-hide-btn:disabled{cursor:not-allowed;opacity:.5}.bulk-unhide-btn{background:#17a2b8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.2rem;transition:all .2s ease}.bulk-unhide-btn:hover:not(:disabled){background:#138496}.bulk-unhide-btn:disabled{cursor:not-allowed;opacity:.5}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;height:100%;width:100%}.modal-content{animation:modalSlideIn .3s ease-out;box-shadow:0 20px 60px #0000004d;max-width:600px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid #dee2e6}.modal-header h3{color:#495057;font-size:1.5rem;margin:0}.modal-body{padding:1.5rem}.slot-details{background:#f8f9fa;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.slot-details h4,.slot-details h5{color:#495057;margin:0 0 .5rem}.slot-details p{color:#6c757d;margin:.3rem 0}.current-reservation{border-top:1px solid #dee2e6;margin-top:1rem;padding-top:1rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#495057;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:2px solid #e9ecef;box-sizing:border-box;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #667eea1a}.form-group small{color:#6c757d;display:block;font-size:.875rem;margin-top:.3rem}.radio-group{display:flex;flex-wrap:wrap;gap:1rem}.radio-group label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:.5rem;margin-bottom:0}.radio-group input[type=radio]{margin:0;width:auto}.modal-actions{border-top:1px solid #dee2e6;gap:1rem;margin-top:2rem;padding-top:1rem}.cancel-btn,.save-btn{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover:not(:disabled){background:#5a6268}.save-btn{background:#28a745;color:#fff}.save-btn:hover:not(:disabled){background:#218838}.cancel-btn:disabled,.save-btn:disabled{cursor:not-allowed;opacity:.6}.header-actions{gap:.75rem}.multi-select-toggle{background:#667eea;border:2px solid #667eea;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.25rem;transition:all .2s ease}.multi-select-toggle:hover{background:#5a67d8;border-color:#5a67d8}.multi-select-toggle.active{background:#e74c3c;border-color:#e74c3c}.multi-select-toggle.active:hover{background:#c0392b;border-color:#c0392b}.slot-checkbox{align-items:center;background:#fff;border:2px solid #667eea;border-radius:4px;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:20px;justify-content:center;position:absolute;right:6px;top:6px;transition:all .15s ease;width:20px}.slot-checkbox.checked{background:#667eea;border-color:#667eea}.slot-multi-selected{box-shadow:0 6px 16px #667eea59!important;outline:3px solid #667eea!important;outline-offset:2px;transform:translateY(-2px)}.multi-select-bar{align-items:center;background:#2c3e50;border-radius:8px;bottom:0;box-shadow:0 -4px 20px #00000026;color:#fff;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;left:0;margin-top:1.5rem;padding:1rem 1.5rem;position:-webkit-sticky;position:sticky;right:0;z-index:100}.multi-select-count{font-size:.95rem;font-weight:600}.multi-select-actions{display:flex;flex-wrap:wrap;gap:.75rem}.bulk-clear-btn,.bulk-reserve-btn,.bulk-unreserve-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.2rem;transition:all .2s ease}.bulk-reserve-btn{background:#28a745;color:#fff}.bulk-reserve-btn:hover:not(:disabled){background:#218838}.bulk-unreserve-btn{background:#e74c3c;color:#fff}.bulk-unreserve-btn:hover:not(:disabled){background:#c0392b}.bulk-clear-btn{background:#ffffff26;border:1px solid #ffffff4d;color:#fff}.bulk-clear-btn:hover:not(:disabled){background:#ffffff40}.bulk-clear-btn:disabled,.bulk-reserve-btn:disabled,.bulk-unreserve-btn:disabled{cursor:not-allowed;opacity:.5}.modal-content-wide{max-width:700px}.bulk-slot-summary{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.bulk-summary-item{border-radius:6px;font-size:.9rem;padding:.5rem 1rem}.bulk-available{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.bulk-reserved{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.bulk-slot-list h4{color:#495057;font-size:1rem;margin:0 0 .75rem}.bulk-slot-scroll{border:1px solid #dee2e6;border-radius:6px;margin-bottom:1.5rem;max-height:200px;overflow-y:auto}.bulk-slot-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;font-size:.875rem;gap:.75rem;padding:.5rem .75rem;transition:background .15s}.bulk-slot-item:last-child{border-bottom:none}.bulk-slot-item.will-be-affected{background:#f0f7ff}.bulk-slot-item.will-be-skipped{background:#fafafa;opacity:.55}.bulk-slot-time{color:#2c3e50;font-weight:600;min-width:75px}.bulk-slot-period{color:#6c757d;flex:1 1;font-size:.8rem}.bulk-slot-status-badge{background:#e9ecef;border-radius:4px;color:#495057;font-size:.7rem;font-weight:700;padding:.15rem .5rem}.bulk-slot-item.is-reserved .bulk-slot-status-badge{background:#f8d7da;color:#721c24}.bulk-slot-item.is-available .bulk-slot-status-badge{background:#d4edda;color:#155724}.bulk-slot-skip-label{color:#adb5bd;font-size:.75rem;font-style:italic}.bulk-unreserve-notice{background:#fff3cd;border:1px solid #ffeeba;border-radius:6px;color:#856404;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}@media (max-width:768px){.slot-management{padding:1rem}.slot-management-controls{gap:1rem;grid-template-columns:1fr}.date-navigation{flex-direction:column;gap:.5rem}.nav-btn{width:100%}.slot-summary{gap:1rem}.slots-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.slot-button{min-height:80px;padding:.75rem}.period-header{align-items:flex-start;flex-direction:column;gap:.5rem}.modal-content{margin:1rem;width:95%}.modal-body{padding:1rem}.modal-actions,.radio-group{flex-direction:column;gap:.5rem}.cancel-btn,.save-btn{width:100%}}@media (max-width:480px){.slot-management-header h2{font-size:1.5rem}.date-display h3{font-size:1.4rem}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.slot-button{min-height:70px;padding:.5rem}.slot-time{font-size:.9rem}.slot-duration{font-size:.75rem}}.timeline{margin:0 auto;max-width:1400px;padding:1rem}.timeline-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:between;margin-bottom:2rem;padding-bottom:1rem}.timeline-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.timeline-subtitle{color:#6c757d;font-size:1.1rem;font-weight:400;margin-top:.5rem}.timeline-controls{grid-gap:2rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;box-shadow:0 4px 6px #00000012;display:grid;gap:2rem;grid-template-columns:1fr 2fr;margin-bottom:2rem;padding:1.5rem}.timeline-control-group{display:flex;flex-direction:column;gap:.5rem}.timeline-control-group label{color:#495057;font-size:.95rem;font-weight:600}.timeline-control-group input,.timeline-control-group select{background:#fff;border:2px solid #dee2e6;border-radius:8px;font-size:1rem;padding:.8rem;transition:all .3s ease}.timeline-control-group input:focus,.timeline-control-group select:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea26;outline:none;transform:translateY(-1px)}.timeline-date-navigation{align-items:center;display:flex;gap:.5rem}.timeline-nav-btn{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.3rem;padding:.8rem 1.2rem;transition:all .3s ease}.timeline-nav-btn:hover:not(:disabled){background:#5a67d8;box-shadow:0 6px 12px #667eea4d;transform:translateY(-2px)}.timeline-nav-btn:disabled{background:#cbd5e0;box-shadow:none;cursor:not-allowed;transform:none}.timeline-date-navigation input[type=date]{flex:1 1;font-weight:500;margin:0 .5rem}.timeline-date-display{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 8px 25px #667eea4d;color:#fff;margin-bottom:2rem;overflow:hidden;padding:2rem;position:relative;text-align:center}.timeline-date-display:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='25' cy='25' r='1' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='75' cy='75' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.1;position:absolute;right:0;top:0}.timeline-date-display h3{font-size:2.2rem;font-weight:700;margin:0 0 1rem;position:relative;text-shadow:0 2px 4px #0003;z-index:1}.timeline-summary{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;position:relative;z-index:1}.timeline-summary-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #fff3;border-radius:25px;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:all .3s ease}.timeline-summary-item:hover{background:#ffffff40;border-color:#fff6;transform:translateY(-2px)}.timeline-summary-item.available{border-color:#2ecc7199}.timeline-summary-item.booked{border-color:#3498db99}.timeline-summary-item.reserved{border-color:#e74c3c99}.timeline-loading-container{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:4rem}.timeline-loading-spinner{animation:timelineSpinner 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;margin-bottom:1.5rem;width:50px}@keyframes timelineSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.timeline-slots-container{display:flex;flex-direction:column;gap:2.5rem}.timeline-time-period{background:#fafbfc;border:1px solid #e9ecef;border-radius:16px;overflow:hidden;padding:2rem;position:relative;transition:all .3s ease}.timeline-time-period:hover{border-color:#667eea;box-shadow:0 8px 25px #667eea1a}.timeline-period-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.timeline-period-title{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0}.timeline-period-info{align-items:center;color:#6c757d;display:flex;font-size:.95rem;font-weight:500;gap:1rem}.timeline-period-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase}.timeline-slots-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:1rem}.timeline-slot-card{background:#fff;border:2px solid #e9ecef;border-radius:16px;box-shadow:0 2px 8px #0000000f;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.timeline-slot-card:before{background:#e9ecef;content:"";height:100%;left:0;position:absolute;top:0;transition:all .3s ease;width:4px}.timeline-slot-card:hover{border-color:#667eea;box-shadow:0 12px 30px #00000026;transform:translateY(-4px)}.timeline-slot-card:hover:before{background:#667eea;width:6px}.timeline-slot-card.available{background:linear-gradient(135deg,#fff,#f8fff9);border-color:#28a745}.timeline-slot-card.available:before{background:#28a745}.timeline-slot-card.available:hover{border-color:#20c997;box-shadow:0 12px 30px #28a74533}.timeline-slot-card.hidden{background:repeating-linear-gradient(135deg,#f3f4f6,#f3f4f6 10px,#ececec 0,#ececec 20px);border-color:#9ca3af;opacity:.85}.timeline-slot-card.hidden:before{background:#9ca3af}.timeline-slot-status-badge.hidden{background:#e5e7eb;color:#4b5563}.timeline-action-btn.unhide{background:#eef2ff;color:#4338ca}.timeline-slot-card.booked{background:linear-gradient(135deg,#fff,#f0f8ff);border-color:#06c;box-shadow:0 8px 25px #0066cc26;overflow:hidden;position:relative}.timeline-slot-card.booked:before{background:linear-gradient(135deg,#06c,#004da7);width:5px}.timeline-slot-card.booked:hover{border-color:#004da7;box-shadow:0 15px 35px #0066cc40;transform:translateY(-6px)}.timeline-slot-card.booked:after{background:linear-gradient(90deg,#0000,#0066cc0d);content:"";height:100%;pointer-events:none;position:absolute;right:0;top:0;width:60px}.timeline-slot-card.booked .timeline-slot-header{margin-bottom:.8rem;position:relative;z-index:2}.timeline-slot-card.booked .timeline-slot-time-main{color:#06c;font-size:1.5rem;font-weight:800;text-shadow:0 1px 2px #0066cc1a}.timeline-slot-card.booked .timeline-slot-duration{color:#004da7;font-size:.9rem;font-weight:600}.timeline-slot-card.booked .timeline-slot-status-badge.booked{background:linear-gradient(135deg,#06c,#004da7);border-radius:20px;box-shadow:0 4px 12px #0066cc4d;color:#fff;font-weight:700;letter-spacing:1px;overflow:hidden;padding:.4rem 1rem;position:relative;text-transform:uppercase}.timeline-slot-card.booked .timeline-slot-status-badge.booked:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.timeline-slot-card.booked:hover .timeline-slot-status-badge.booked:before{left:100%}.timeline-slot-card.booked .timeline-appointment-token{align-items:center;background:linear-gradient(135deg,#06c,#004da7);border-radius:12px;box-shadow:0 6px 15px #06c3;color:#fff;display:inline-flex;font-size:.8rem;font-weight:700;gap:.5rem;margin-bottom:1rem;overflow:hidden;padding:.6rem 1.2rem;position:relative}.timeline-slot-card.booked .timeline-appointment-token:before{content:"🎫";font-size:1.1rem}.timeline-slot-card.booked .timeline-appointment-token:after{animation:tokenShimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff1a);content:"";height:100%;position:absolute;right:-20px;top:0;transform:skewX(-15deg);width:20px}@keyframes tokenShimmer{0%{transform:translateX(-100px) skewX(-15deg)}50%{transform:translateX(0) skewX(-15deg)}to{transform:translateX(100px) skewX(-15deg)}}.timeline-slot-card.booked .timeline-patient-info{background:linear-gradient(135deg,#f8fbff,#e6f3ff);border:2px solid #0066cc1a;border-radius:16px;box-shadow:inset 0 1px 3px #0066cc1a;overflow:hidden;padding:.8rem;position:relative}.timeline-slot-card.booked .timeline-patient-info:before{background:linear-gradient(90deg,#06c,#004da7);content:"";height:3px;left:0;position:absolute;right:0;top:0}.timeline-slot-card.booked .timeline-patient-name{align-items:center;color:#003d82;display:flex;font-size:1.3rem;font-weight:700;gap:.8rem;justify-content:center;position:relative}.timeline-slot-card.booked .timeline-patient-name:before{align-items:center;background:linear-gradient(135deg,#06c,#004da7);border-radius:50%;display:flex;filter:grayscale(1) brightness(0) invert(1);flex-shrink:0;font-size:1.4rem;height:2.5rem;justify-content:center;padding:.4rem;width:2.5rem}.timeline-slot-card.booked .timeline-patient-details{display:flex;flex-direction:column;gap:.8rem}.timeline-slot-card.booked .timeline-patient-detail{align-items:center;border-bottom:1px solid #0066cc1a;display:flex;font-size:.95rem;gap:.8rem;transition:all .3s ease}.timeline-slot-card.booked .timeline-patient-detail:hover{background:#0066cc0d;border-radius:8px;padding-left:.5rem;padding-right:.5rem}.timeline-slot-card.booked .timeline-patient-detail:last-child{border-bottom:none}.timeline-slot-card.booked .detail-icon{align-items:center;background:linear-gradient(135deg,#06c,#004da7);border-radius:50%;color:#fff;display:flex;filter:grayscale(1) brightness(0) invert(1);flex-shrink:0;font-size:1.2rem;height:28px;justify-content:center;text-align:center;width:28px}.timeline-slot-card.booked .detail-label{color:#003d82;flex-shrink:0;font-size:.9rem;font-weight:700;min-width:70px}.timeline-slot-card.booked .detail-value{color:#004da7;flex-grow:1;font-weight:600;word-break:break-word}.timeline-slot-card.booked .status-value{border-radius:15px;box-shadow:0 2px 6px #0000001a;font-size:.85rem;font-weight:700;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase}.timeline-slot-card.booked .status-scheduled{background:linear-gradient(135deg,#ffa726,#ff9800);color:#fff}.timeline-slot-card.booked .status-confirmed{background:linear-gradient(135deg,#06c,#004da7);color:#fff}.timeline-slot-card.booked .status-completed{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.timeline-slot-card.booked .status-in-progress{animation:statusPulse 2s infinite;background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}@keyframes statusPulse{0%,to{box-shadow:0 2px 6px #2196f34d}50%{box-shadow:0 4px 12px #2196f380}}.timeline-slot-card.booked .payment-value{align-items:center;border-radius:12px;display:inline-flex;font-size:.85rem;font-weight:700;gap:.3rem;padding:.3rem .8rem}.timeline-slot-card.booked .payment-paid{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.timeline-slot-card.booked .payment-pending{animation:paymentBlink 1.5s infinite;background:linear-gradient(135deg,#ffa726,#ff9800);color:#fff}@keyframes paymentBlink{0%,to{opacity:1}50%{opacity:.7}}.timeline-slot-card.booked .payment-failed{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.timeline-slot-card.booked .timeline-slot-actions{border-top:2px solid #0066cc1a;margin-top:.2rem;padding-top:.2rem}.timeline-slot-card.booked .timeline-action-buttons{display:flex;gap:.8rem;justify-content:center}.timeline-slot-card.booked .timeline-action-btn{border-radius:12px;box-shadow:0 4px 12px #00000026;font-size:1.1rem;height:42px;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:42px}.timeline-slot-card.booked .timeline-action-btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:0}.timeline-slot-card.booked .timeline-action-btn:hover:before{height:100%;width:100%}.timeline-slot-card.booked .timeline-action-btn:hover{box-shadow:0 8px 20px #00000040;transform:translateY(-3px) scale(1.05)}.timeline-slot-card.booked .timeline-action-btn:active{transform:translateY(-1px) scale(1.02)}.timeline-slot-card.booked .timeline-action-btn:disabled{box-shadow:0 2px 6px #0000001a!important;cursor:not-allowed;opacity:.6;transform:none!important}.timeline-slot-card.booked .timeline-action-btn:disabled:after{animation:buttonSpinner 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;content:"";height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:20px}@keyframes buttonSpinner{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.timeline-slot-card.booked .timeline-action-btn[title]:hover:after{animation:tooltipFadeIn .3s ease;background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:8px;bottom:130%;box-shadow:0 6px 15px #0000004d;color:#fff;content:attr(title);font-size:.8rem;font-weight:600;left:50%;padding:.6rem 1rem;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}.timeline-slot-card.booked .timeline-action-btn[title]:hover:before{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #2c3e50;bottom:125%;content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:1000}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.timeline-slot-card.booked{animation:bookedSlotEntrance .6s ease-out}@keyframes bookedSlotEntrance{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.timeline-slot-card.booked .timeline-patient-name{flex-direction:column;font-size:1.1rem;gap:.5rem;text-align:center}.timeline-slot-card.booked .timeline-patient-name:before{align-self:center}.timeline-slot-card.booked .timeline-action-buttons{flex-wrap:wrap;gap:.6rem;justify-content:center}.timeline-slot-card.booked .timeline-action-btn{font-size:1rem;height:38px;width:38px}}@media (max-width:480px){.timeline-slot-card.booked .timeline-patient-info{padding:1rem}.timeline-slot-card.booked .timeline-patient-details{gap:.6rem}.timeline-slot-card.booked .timeline-patient-detail{align-items:flex-start;flex-direction:column;gap:.4rem;padding:.5rem 0}.timeline-slot-card.booked .detail-label{font-size:.8rem;min-width:auto}.timeline-slot-card.booked .detail-value{font-size:.9rem}}.timeline-slot-card.reserved{background:linear-gradient(135deg,#fff,#f8f6ff);border-color:#b02323}.timeline-slot-card.reserved:before{background:#b02323}.timeline-slot-card.reserved:hover{border-color:#5a2d91;box-shadow:0 12px 30px #6f42c133}.timeline-slot-card.past{background:#f8f9fa;border-color:#dee2e6;cursor:not-allowed;opacity:.6}.timeline-slot-card.past:hover{box-shadow:0 2px 8px #0000000f;transform:none}.timeline-slot-card.completed{background:linear-gradient(135deg,#fff,#f1f9f3);border-color:#28a745;overflow:hidden;position:relative}.timeline-slot-card.completed:before{background:linear-gradient(135deg,#28a745,#20c997);width:5px}.timeline-slot-card.completed:after{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border-radius:50%;color:#fff;content:"✓";display:flex;font-size:1.8rem;font-weight:700;height:50px;justify-content:center;opacity:.15;pointer-events:none;position:absolute;right:10px;top:10px;width:50px}.timeline-slot-card.completed:hover{border-color:#20c997;box-shadow:0 12px 30px #28a74533}.timeline-slot-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.timeline-slot-time{display:flex;flex-direction:column;gap:.2rem}.timeline-slot-time-main{color:#2c3e50;font-size:1.4rem;font-weight:700;line-height:1.2}.timeline-slot-duration{color:#6c757d;font-size:.85rem;font-weight:500}.timeline-slot-status-badge{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase}.timeline-slot-status-badge.available{background:#d4edda;color:#155724}.timeline-slot-status-badge.booked{background:#cce5ff;color:#004085}.timeline-slot-status-badge.reserved{background:#de3015;color:#3d1a5f}.timeline-slot-status-badge.past{background:#f8f9fa;color:#6c757d}.timeline-slot-status-badge.completed{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 2px 8px #28a7454d;color:#fff;font-weight:700}.timeline-slot-content{margin-bottom:1rem}.timeline-patient-info{background:#667eea;border-radius:12px;margin-bottom:1rem;padding:1rem}.timeline-slot-card.completed .timeline-patient-info{background:#fff;border:2px solid #e9ecef}.timeline-slot-card.completed .detail-label,.timeline-slot-card.completed .detail-value,.timeline-slot-card.completed .timeline-patient-name{color:#2c3e50}.timeline-patient-name{color:#fbfbfc;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.timeline-patient-details{display:flex;flex-direction:column;gap:.5rem}.timeline-patient-detail{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;font-size:.9rem;gap:.5rem;padding:.3rem 0}.timeline-patient-detail:last-child{border-bottom:none}.detail-icon{flex-shrink:0;font-size:1rem;text-align:center;width:20px}.detail-label{color:#fff;flex-shrink:0;font-weight:600;min-width:60px}.detail-value{color:#fff;flex-grow:1;font-weight:500;word-break:break-word}.status-value{border-radius:12px;font-size:.8rem;font-weight:600;padding:.2rem .5rem;text-transform:capitalize}.status-scheduled{background:#fff3cd;color:#856404}.status-confirmed{background:#d1ecf1;color:#0c5460}.status-completed{background:#d4edda;color:#155724}.status-in-progress{background:#cce5ff;color:#004085}.status-cancelled{background:#f8d7da;color:#721c24}.payment-value{border-radius:8px;font-size:.8rem;font-weight:600;padding:.2rem .5rem}.payment-paid{background:#d4edda;color:#155724}.payment-pending{background:#fff3cd;color:#856404}.payment-failed{background:#f8d7da;color:#721c24}.payment-refunded{background:#e2e3e5;color:#495057}.timeline-appointment-token{background:#667eea;border-radius:8px;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;margin-bottom:.5rem;padding:.4rem .8rem}.timeline-reservation-info{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-bottom:1rem;padding:.8rem}.timeline-reservation-reason{color:#856404;font-size:.9rem;font-weight:500;margin:0}.timeline-empty-slot{color:#adb5bd;font-style:italic;padding:1rem;text-align:center}.timeline-slot-actions{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-top:auto}.timeline-action-buttons{display:flex;gap:.5rem}.timeline-action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease;width:36px}.timeline-action-btn:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-2px)}.timeline-action-btn:active{transform:translateY(0)}.timeline-action-btn.confirm{background:#28a745;color:#fff}.timeline-action-btn.confirm:hover{background:#218838;box-shadow:0 6px 12px #28a7454d}.timeline-action-btn.complete{background:#17a2b8;color:#fff}.timeline-action-btn.complete:hover{background:#138496;box-shadow:0 6px 12px #17a2b84d}.timeline-action-btn.cancel{background:#dc3545;color:#fff}.timeline-action-btn.cancel:hover{background:#c82333;box-shadow:0 6px 12px #dc35454d}.timeline-action-btn.view{background:#6c757d;color:#fff}.timeline-action-btn.view:hover{background:#5a6268;box-shadow:0 6px 12px #6c757d4d}.timeline-slot-status-group{align-items:flex-end;display:flex;flex-direction:column;gap:.4rem}.timeline-slot-print-buttons{display:flex;flex-direction:row;gap:.3rem}.timeline-action-btn.print,.timeline-slot-card.booked .timeline-action-btn.print{background:#495057;color:#fff;font-size:.85rem;height:28px;width:28px}.timeline-action-btn.print:hover,.timeline-slot-card.booked .timeline-action-btn.print:hover{background:#343a40;box-shadow:0 6px 12px #4950574d}.timeline-action-btn.print-rx,.timeline-slot-card.booked .timeline-action-btn.print-rx{background:#1b3c6e;color:#fff;font-size:.85rem;height:28px;width:28px}.timeline-action-btn.print-rx:hover,.timeline-slot-card.booked .timeline-action-btn.print-rx:hover{background:#142d54;box-shadow:0 6px 12px #1b3c6e4d}.timeline-action-btn.book{background:#667eea;color:#fff}.timeline-action-btn.book:hover{background:#5a67d8;box-shadow:0 6px 12px #667eea4d}.timeline-action-btn.book-now{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 4px 12px #667eea4d;color:#fff;font-size:.9rem;font-weight:600;height:38px;letter-spacing:.5px;min-width:80px;overflow:hidden;padding:.5rem 1rem;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);width:auto}.timeline-action-btn.book-now:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.timeline-action-btn.book-now:hover{background:linear-gradient(135deg,#5a67d8,#6a4c93);box-shadow:0 8px 20px #667eea66;transform:translateY(-3px)}.timeline-action-btn.book-now:hover:before{left:100%}.timeline-action-btn.book-now:active{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.timeline-action-btn.reserve{background:linear-gradient(135deg,#6f42c1,#5a2d91);color:#fff}.timeline-action-btn.reserve:hover{background:linear-gradient(135deg,#5a2d91,#4a235e);box-shadow:0 6px 12px #6f42c14d}.timeline-action-btn.unreserve{background:linear-gradient(135deg,#fd7e14,#e55a00);color:#fff}.timeline-action-btn.unreserve:hover{background:linear-gradient(135deg,#e55a00,#d04200);box-shadow:0 6px 12px #fd7e144d}.timeline-action-btn.reserve,.timeline-action-btn.unreserve{overflow:hidden;position:relative}.timeline-action-btn.reserve:before,.timeline-action-btn.unreserve:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:0}.timeline-action-btn.reserve:hover:before,.timeline-action-btn.unreserve:hover:before{height:100%;width:100%}.timeline-action-btn.reserve:disabled,.timeline-action-btn.unreserve:disabled{box-shadow:0 2px 6px #0000001a!important;cursor:not-allowed;opacity:.6;transform:none!important}.timeline-action-btn.reserve[title]:hover:after,.timeline-action-btn.unreserve[title]:hover:after{animation:tooltipFadeIn .3s ease;background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:8px;box-shadow:0 6px 15px #0000004d;color:#fff;font-size:.8rem;font-weight:600;padding:.6rem 1rem;white-space:nowrap;z-index:1000}@media (max-width:768px){.timeline-action-btn.reserve,.timeline-action-btn.unreserve{font-size:1rem;height:38px;width:38px}}@media (max-width:480px){.timeline-action-btn.reserve,.timeline-action-btn.unreserve{font-size:.9rem;height:36px;width:36px}}.timeline-action-btn[title]:hover:after{background:#2c3e50;border-radius:6px;bottom:100%;color:#fff;content:attr(title);font-size:.8rem;left:50%;margin-bottom:5px;padding:.5rem .8rem;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}.timeline-no-slots{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;color:#6c757d;padding:4rem;text-align:center}.timeline-no-slots h3{color:#495057;font-size:1.5rem;margin:0 0 1rem}.timeline-no-slots p{font-size:1.1rem;margin:0}@media (max-width:768px){.timeline{padding:.5rem}.timeline-controls{gap:1rem;grid-template-columns:1fr;padding:1rem}.timeline-date-navigation{flex-direction:column;gap:.5rem}.timeline-nav-btn{justify-content:center;width:100%}.timeline-summary{flex-direction:column;gap:1rem}.timeline-summary-item{text-align:center}.timeline-slots-grid{gap:1rem;grid-template-columns:1fr}.timeline-time-period{padding:1rem}.timeline-period-header{align-items:flex-start;flex-direction:column;gap:1rem}.timeline-slot-card{padding:1rem}.timeline-slot-header{align-items:flex-start;flex-direction:column;gap:.5rem}.timeline-action-buttons{flex-wrap:wrap;justify-content:center}}@media (max-width:480px){.timeline-header h2{font-size:1.5rem}.timeline-date-display h3{font-size:1.8rem}.timeline-date-display{padding:1.5rem}.timeline-period-title,.timeline-slot-time-main{font-size:1.2rem}.timeline-patient-name{font-size:1rem}}.current-queue-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;overflow:hidden}.current-queue-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e9ecef;color:#fff;display:flex;justify-content:space-between;padding:1.5rem 2rem 1rem}.current-queue-header h3{align-items:center;display:flex;font-size:1.4rem;font-weight:600;gap:.5rem;margin:0}.queue-stats{display:flex;gap:2rem}.queue-stat{display:flex;flex-direction:column;gap:.25rem;text-align:center}.stat-value{color:#fff;font-size:1.8rem;font-weight:700}.stat-label{color:#ffffffe6;letter-spacing:.5px;text-transform:uppercase}.current-queue-content{padding:2rem}.current-queue-cards-row{display:flex;gap:1.5rem;min-height:200px}.current-appointment-card{background:linear-gradient(135deg,#cdcdcd,#cdcdcd);border-radius:12px;box-shadow:15 4px 12px #667eea4d;color:#000;display:flex;flex-basis:calc(33.333% - 1rem);flex-direction:column;flex-grow:0;flex-shrink:0;justify-content:space-between;overflow:hidden;padding:1.5rem;position:relative}.current-appointment-card:before{background-size:20px 20px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.appointment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.appointment-status.running{align-items:center;background:#fff3;border-radius:20px;display:flex;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.status-indicator{animation:pulse 2s infinite;background:#4ade80}.appointment-time{font-size:1rem;font-weight:600;opacity:.9}.appointment-content{align-items:center;display:flex;flex:1 1;flex-direction:column;text-align:center}.token-display{margin:1rem 0}.token-number{background:#fff3;border:2px solid #ffffff4d;border-radius:12px;display:inline-block;font-size:2.5rem;font-weight:700;padding:1rem 1.5rem}.patient-details{margin-top:1rem}.patient-name{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.appointment-meta{display:flex;justify-content:center}.appointment-status-badge{background:#fff3;border-radius:15px;color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase}.appointment-actions{display:flex;gap:.5rem;margin-top:1rem}.action-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:.8rem;font-weight:600;padding:.7rem;transition:all .3s ease}.action-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.complete-btn{background:#4caf50e6;border-color:#4caf50b3}.complete-btn:hover{background:#4caf50}.view-btn{background:#2196f3e6;border-color:#2196f3b3}.view-btn:hover{background:#2196f3}.no-current-appointment{align-items:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;display:flex;flex-basis:calc(33.333% - 1rem);flex-grow:0;flex-shrink:0;justify-content:center;padding:2rem}.empty-state{color:#6c757d;text-align:center}.empty-icon{font-size:2.5rem;margin-bottom:1rem}.empty-state h4{color:#495057;font-size:1.1rem;margin:0 0 .5rem}.empty-state p{font-size:.9rem;margin:0;opacity:.8}.next-appointments-container{background:#f8f9fa;border-radius:12px;display:flex;flex-direction:column;padding:1.5rem}.next-appointments-header{border-bottom:2px solid #e9ecef;margin-bottom:1rem;padding-bottom:.5rem}.next-appointments-title{align-items:center;color:#495057;display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;margin:0}.next-appointments-list{display:flex;flex:1 1;flex-direction:column;gap:.75rem}.next-appointment-card{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.next-appointment-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26;transform:translateY(-1px)}.next-appointment-header{min-width:60px;text-align:center}.next-appointment-header,.queue-position{align-items:center;display:flex;flex-direction:column}.queue-position{margin-bottom:.5rem}.position-number{align-items:center;background:#667eea1a;border-radius:50%;color:#667eea;display:flex;font-size:1.5rem;font-weight:700;height:30px;justify-content:center;width:30px}.position-label{color:#6c757d;font-size:.7rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.estimated-time{align-items:center;display:flex;flex-direction:column}.wait-time{color:#28a745;font-size:.8rem;font-weight:600}.time-label{color:#6c757d;font-size:.6rem;letter-spacing:.5px;text-transform:uppercase}.next-appointment-content{align-items:center;display:flex;flex:1 1;gap:1rem}.appointment-token{background:#667eea1a;border-radius:6px;color:#667eea;font-size:1.1rem;font-weight:700;min-width:60px;padding:.5rem 1rem;text-align:center}.appointment-details{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.appointment-details .patient-name{color:#212529;font-size:1rem;font-weight:600;margin:0}.appointment-details .appointment-time{color:#6c757d;font-size:.85rem;font-weight:500}.appointment-status{align-items:center;display:flex}.status-badge{color:#fff;font-size:.7rem;padding:.3rem .8rem}.next-appointment-actions{display:flex;gap:.5rem}.mini-action-btn{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-size:.9rem;height:32px;justify-content:center;transition:all .3s ease;width:32px}.mini-action-btn:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.mini-action-btn.confirm-btn{background:#28a745;border-color:#28a745;color:#fff}.mini-action-btn.confirm-btn:hover{background:#218838}.no-next-appointments{flex:1 1;padding:2rem}.auto-refresh-indicator,.no-next-appointments{align-items:center;display:flex;justify-content:center}.auto-refresh-indicator{background:#667eea1a;border-radius:8px;color:#495057;font-size:.8rem;gap:.5rem;margin-top:1.5rem;padding:.75rem}.refresh-icon{animation:spin 2s linear infinite}@media (max-width:1200px){.current-queue-cards-row{flex-direction:column;gap:1rem}.current-appointment-card,.next-appointments-container,.no-current-appointment{flex:1 1}.next-appointment-card{gap:.75rem;padding:.75rem}.position-number{font-size:1.2rem;height:25px;width:25px}}@media (max-width:768px){.current-queue-content{padding:1rem}.current-queue-header{flex-direction:column;gap:1rem;padding:1rem;text-align:center}.queue-stats{gap:1rem}.next-appointment-card{text-align:center}.next-appointment-card,.next-appointment-content{flex-direction:column;gap:.5rem}}.booking-popup-overlay,.confirmation-popup-overlay,.popup-overlay,.view-appointment-popup-overlay{align-items:center!important;animation:popupOverlayFadeIn .3s ease!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;background:#0009!important;bottom:0!important;display:flex!important;justify-content:center!important;left:0!important;padding:1rem!important;position:fixed!important;right:0!important;top:0!important;z-index:10000!important}@keyframes popupOverlayFadeIn{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0}to{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1}}.booking-popup-container,.confirmation-popup-container,.popup-container,.view-appointment-popup-container{animation:popupSlideIn .4s cubic-bezier(.34,1.56,.64,1)!important;background:#fff!important;border:1px solid #fff3!important;border-radius:20px!important;box-shadow:0 25px 50px #00000040!important;max-height:90vh!important;max-width:90vw!important;overflow:auto!important;position:relative!important;z-index:10001!important}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.booking-popup-container,.confirmation-popup-container,.popup-container,.view-appointment-popup-container{max-height:95vh!important;overflow-x:hidden!important;overflow-y:auto!important}.booking-popup-form,.view-appointment-content{max-height:none!important;overflow:visible!important}}@media (max-width:480px){.booking-popup-container,.confirmation-popup-container,.popup-container,.view-appointment-popup-container{margin:1vh auto!important;max-height:98vh!important}}.confirmation-popup-container{background:linear-gradient(135deg,#fff,#f8fafb)!important;max-width:450px!important;text-align:center!important;width:100%!important}.confirmation-popup-header{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-radius:20px 20px 0 0!important;color:#fff!important;padding:2rem 2rem 1rem!important;position:relative!important}.confirmation-popup-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='10' cy='10' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E")!important;bottom:0!important;content:""!important;left:0!important;opacity:.3!important;position:absolute!important;right:0!important;top:0!important}.confirmation-icon{align-items:center!important;animation:iconPulse 2s infinite!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#fff3!important;border:3px solid #ffffff4d!important;border-radius:50%!important;box-shadow:0 8px 25px #00000026!important;display:flex!important;font-size:2.5rem!important;height:80px!important;justify-content:center!important;margin:0 auto 1rem!important;position:relative!important;width:80px!important;z-index:2!important}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.confirmation-popup-header h3{color:#fff!important;font-size:1.8rem!important;font-weight:700!important;margin:0!important;position:relative!important;text-shadow:0 2px 4px #0003!important;z-index:2!important}.confirmation-popup-content{padding:2rem!important}.appointment-summary{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;border-left:4px solid #667eea!important;border-radius:12px!important;box-shadow:inset 0 1px 3px #0000001a!important;margin-bottom:1.5rem!important;padding:1.5rem!important}.appointment-time{margin-bottom:1rem!important;text-align:center!important}.appointment-time strong{color:#2c3e50!important;display:block!important;font-size:1.5rem!important;font-weight:700!important;margin-bottom:.5rem!important}.appointment-token{background:#667eea!important;border-radius:12px!important;color:#fff!important;font-size:.8rem!important;font-weight:600!important;letter-spacing:.5px!important;padding:.3rem .8rem!important;text-transform:uppercase!important}.appointment-patient{border-top:1px solid #dee2e6!important;padding-top:1rem!important;text-align:center!important}.patient-name{font-size:1.2rem!important;font-weight:700!important;margin-bottom:.5rem!important}.patient-contact{color:#6c757d!important;font-size:.95rem!important;font-weight:500!important}.confirmation-message{text-align:center!important}.main-message{color:#495057!important;font-size:1.1rem!important;font-weight:600!important;line-height:1.6!important;margin-bottom:.5rem!important}.sub-message{color:#6c757d!important;font-size:.95rem!important;font-weight:400!important;line-height:1.5!important;margin:0!important}.confirmation-popup-actions{display:flex!important;gap:1rem!important;justify-content:center!important;margin-top:2rem!important}.btn-cancel-action,.btn-cancel-confirm,.btn-complete,.btn-confirm{align-items:center!important;border:none!important;border-radius:12px!important;box-shadow:0 4px 12px #00000026!important;cursor:pointer!important;display:flex!important;font-size:1rem!important;font-weight:600!important;gap:.5rem!important;justify-content:center!important;letter-spacing:.5px!important;min-width:120px!important;overflow:hidden!important;padding:1rem 2rem!important;position:relative!important;text-transform:uppercase!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.btn-cancel-action{background:linear-gradient(135deg,#6c757d,#495057)!important;color:#fff!important}.btn-confirm{background:linear-gradient(135deg,#28a745,#20c997)!important;color:#fff!important}.btn-complete{background:linear-gradient(135deg,#17a2b8,#20c997)!important;color:#fff!important}.btn-cancel-confirm{background:linear-gradient(135deg,#dc3545,#e74c3c)!important;color:#fff!important}.btn-cancel-action:hover,.btn-cancel-confirm:hover,.btn-complete:hover,.btn-confirm:hover{box-shadow:0 8px 20px #00000040!important;transform:translateY(-2px)!important}.btn-cancel-action:disabled,.btn-cancel-confirm:disabled,.btn-complete:disabled,.btn-confirm:disabled{box-shadow:0 2px 6px #0000001a!important;cursor:not-allowed!important;opacity:.6!important;transform:none!important}.loading-spinner{animation:spin 1s linear infinite!important;border:2px solid #0000!important;border-radius:50%!important;border-top-color:currentcolor!important;height:16px!important;margin-right:.5rem!important;width:16px!important}.view-appointment-popup-container{background:linear-gradient(135deg,#fff,#f8fafb)!important;display:flex!important;flex-direction:column!important;max-height:90vh!important;max-width:800px!important;overflow:auto!important;width:100%!important}.view-appointment-header{align-items:flex-start!important;background:linear-gradient(135deg,#2c3e50,#34495e)!important;color:#fff!important;display:flex!important;justify-content:space-between!important;overflow:hidden!important;padding:2rem!important;position:relative!important}.view-appointment-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='28' height='49' patternUnits='userSpaceOnUse' patternTransform='scale(.3)'%3E%3Cpath d='m13.99 0 6.93 12.01-6.93 12.01L0 12.01 13.99 0z' fill='%23fff' opacity='.05'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E")!important;bottom:0!important;content:""!important;left:0!important;position:absolute!important;right:0!important;top:0!important}.header-content{position:relative!important;z-index:2!important}.header-content h3{align-items:center!important;display:flex!important;font-size:2rem!important;font-weight:700!important;gap:.8rem!important;margin:0 0 .5rem!important;text-shadow:0 2px 4px #0003!important}.header-content h3:before{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#ffffff26!important;border:2px solid #fff3!important;border-radius:50%!important;content:"📅"!important;font-size:2.2rem!important;padding:.5rem!important}.appointment-status-badge{border:2px solid #fff3!important;border-radius:20px!important;font-size:.9rem!important;font-weight:600!important;padding:.5rem 1rem!important;text-transform:capitalize!important}.appointment-status-badge,.close-btn{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#ffffff26!important;color:#fff!important}.close-btn{align-items:center!important;border:2px solid #fff3!important;border-radius:50%!important;cursor:pointer!important;display:flex!important;font-size:1.5rem!important;height:45px!important;justify-content:center!important;position:relative!important;transition:all .3s ease!important;width:45px!important;z-index:2!important}.close-btn:hover{background:#ffffff40!important;border-color:#fff6!important;transform:rotate(90deg) scale(1.1)!important}.view-appointment-content{flex:1 1!important;overflow-y:auto!important;padding:2rem!important}.detail-section{background:#fff!important;border:1px solid #e9ecef!important;border-radius:16px!important;box-shadow:0 4px 12px #0000000d!important;margin-bottom:2.5rem!important;overflow:hidden!important;padding:2rem!important;position:relative!important;transition:all .3s ease!important}.detail-section:before{background:linear-gradient(135deg,#667eea,#764ba2)!important;content:""!important;height:100%!important;left:0!important;position:absolute!important;top:0!important;transition:width .3s ease!important;width:4px!important}.detail-section:hover{border-color:#667eea!important;box-shadow:0 8px 25px #667eea1a!important;transform:translateY(-2px)!important}.section-title{border-bottom:2px solid #f8f9fa!important;color:#2c3e50!important;font-size:1.4rem!important;font-weight:700!important;margin:0 0 1.5rem!important;padding-bottom:1rem!important}.detail-grid{grid-gap:1.5rem!important;display:grid!important;gap:1.5rem!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important}.detail-item{background:linear-gradient(135deg,#f8f9fa,#fff)!important;border:1px solid #e9ecef!important;border-radius:12px!important;display:flex!important;flex-direction:column!important;gap:.5rem!important;padding:1rem!important;transition:all .3s ease!important}.detail-item:hover{border-color:#667eea!important;box-shadow:0 4px 12px #667eea1a!important;transform:translateY(-1px)!important}.detail-label{color:#495057!important;font-size:.9rem!important;font-weight:700!important;letter-spacing:.5px!important;text-transform:uppercase!important}.detail-value{color:#2c3e50!important;font-size:1.1rem!important;font-weight:600!important;line-height:1.4!important}.payment-status.paid{color:#28a745!important;font-weight:700!important}.payment-status.pending{color:#ffa726!important;font-weight:700!important}.payment-status.failed{color:#dc3545!important;font-weight:700!important}.notes-content{background:linear-gradient(135deg,#fff9c4,#fff8e1)!important;border:2px solid #ffd54f!important;border-radius:16px!important;overflow:hidden!important;padding:1.5rem!important;position:relative!important}.note-item{margin-bottom:1rem!important}.note-item:last-child{margin-bottom:0!important}.note-label{color:#f57f17!important;display:block!important;font-weight:700!important;margin-bottom:.5rem!important}.note-text{color:#bf8f00!important;line-height:1.6!important;margin:0!important}.view-appointment-footer{background:#f8f9fa!important;border-top:1px solid #e9ecef!important;display:flex!important;justify-content:center!important;padding:1.5rem 2rem!important}.btn-close-details{background:linear-gradient(135deg,#6c757d,#495057)!important;border:none!important;border-radius:12px!important;color:#fff!important;cursor:pointer!important;font-size:1rem!important;font-weight:600!important;letter-spacing:.5px!important;padding:1rem 2rem!important;text-transform:uppercase!important;transition:all .3s ease!important}.btn-close-details:hover{box-shadow:0 6px 15px #6c757d4d!important;transform:translateY(-2px)!important}.booking-popup-container{background:linear-gradient(135deg,#fff,#f8fafb)!important;display:flex!important;flex-direction:column!important;max-height:90vh!important;max-width:700px!important;overflow:auto!important;width:100%!important}.booking-popup-header{align-items:flex-start!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;display:flex!important;justify-content:space-between!important;overflow:hidden!important;padding:2rem!important;position:relative!important}.booking-popup-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='10' cy='10' r='2' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E")!important;bottom:0!important;content:""!important;left:0!important;position:absolute!important;right:0!important;top:0!important}.booking-popup-header h3{font-size:2rem!important;font-weight:700!important;margin:0 0 .5rem!important;text-shadow:0 2px 4px #0003!important}.booking-popup-header h3,.slot-info{position:relative!important;z-index:2!important}.slot-info{align-items:center!important;display:flex!important;gap:1rem!important;margin-top:.5rem!important}.slot-time{background:#fff3!important;border:2px solid #fff3!important;border-radius:20px!important;padding:.5rem 1rem!important}.slot-time,.slot-token{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;font-weight:600!important}.slot-token{background:#ffffff26!important;border:1px solid #fff3!important;border-radius:15px!important;font-size:.9rem!important;padding:.4rem .8rem!important}.booking-popup-form{flex:1 1!important;overflow-y:auto!important;padding:2rem!important}.patient-type-selector{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;border:2px solid #dee2e6!important;border-radius:12px!important;display:flex!important;gap:1rem!important;margin-bottom:2rem!important;padding:1rem!important}.patient-type-selector label{background:#fff!important;border:2px solid #0000!important;border-radius:8px!important;color:#6c757d!important;cursor:pointer!important;flex:1 1!important;font-weight:600!important;padding:1rem!important;text-align:center!important;transition:all .3s ease!important}.patient-type-selector label.active{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-color:#667eea!important;box-shadow:0 6px 15px #667eea4d!important;color:#fff!important;transform:translateY(-2px)!important}.patient-type-selector input[type=radio]{color:#fff!important}.form-group{margin-bottom:1.5rem!important}.form-group label{color:#495057!important;display:block!important;font-size:.95rem!important;font-weight:700!important;margin-bottom:.5rem!important}.form-group input,.form-group select,.form-group textarea{background:#fff!important;border:2px solid #dee2e6!important;border-radius:8px!important;font-family:inherit!important;font-size:1rem!important;padding:1rem!important;transition:all .3s ease!important;width:100%!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea!important;box-shadow:0 0 0 4px #667eea26!important;outline:none!important;transform:translateY(-1px)!important}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545!important;box-shadow:0 0 0 4px #dc354526!important}.form-row{grid-gap:1rem!important;display:grid!important;gap:1rem!important;grid-template-columns:1fr 1fr!important}.search-container{position:relative!important}.search-results{background:#fff!important;border:2px solid #dee2e6!important;border-radius:0 0 8px 8px!important;border-top:none!important;box-shadow:0 4px 12px #00000026!important;left:0!important;max-height:200px!important;overflow-y:auto!important;position:absolute!important;right:0!important;top:100%!important;z-index:1000!important}.search-result-item{border-bottom:1px solid #f8f9fa!important;cursor:pointer!important;padding:1rem!important;transition:all .3s ease!important}.search-result-item:hover{background:#f8f9fa!important;color:#667eea!important}.professional-search-result-item{align-items:center!important;background:#fff!important;border-bottom:1px solid #f1f3f4!important;cursor:pointer!important;display:flex!important;min-height:60px!important;padding:.75rem 1rem!important;transition:all .2s ease!important}.professional-search-result-item:hover{background:linear-gradient(135deg,#f8f9ff,#f0f4ff)!important;border-left:3px solid #667eea!important;padding-left:calc(1rem - 3px)!important;transform:translateX(2px)!important}.professional-search-result-item:last-child{border-bottom:none!important}.patient-avatar{align-items:center!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;border-radius:50%!important;box-shadow:0 2px 8px #667eea33!important;display:flex!important;flex-shrink:0!important;height:40px!important;justify-content:center!important;margin-right:.75rem!important;width:40px!important}.avatar-text{color:#fff!important;font-size:.9rem!important;font-weight:700!important;text-transform:uppercase!important}.patient-main-info{display:flex!important;flex:1 1!important;flex-direction:column!important;gap:.25rem!important;min-width:0!important}.patient-info-single-row{align-items:center!important;display:flex!important;gap:1rem!important;width:100%!important}.patient-full-name{color:#2c3e50!important;flex:1 1!important;font-size:.95rem!important;font-weight:600!important}.patient-phone{color:#6c757d!important;font-size:.8rem!important}.patient-join-date,.patient-phone{flex-shrink:0!important;font-weight:500!important}.patient-join-date{background:#f8fff9!important;border-radius:8px!important;color:#28a745!important;font-size:.75rem!important;padding:.15rem .4rem!important}.patient-select-indicator{flex-shrink:0!important;margin-left:.5rem!important;opacity:0!important;transition:all .2s ease!important}.professional-search-result-item:hover .patient-select-indicator{opacity:1!important}.select-arrow{color:#667eea!important;font-size:1rem!important;font-weight:700!important}@media (max-width:768px){.professional-search-result-item{min-height:55px!important;padding:.6rem .8rem!important}.patient-avatar{height:35px!important;margin-right:.6rem!important;width:35px!important}.avatar-text{font-size:.8rem!important}.patient-full-name{font-size:.9rem!important}.patient-join-date,.patient-phone{font-size:.75rem!important}}@media (max-width:480px){.patient-contact-row{align-items:flex-start!important;flex-direction:column!important;gap:.25rem!important}.patient-join-date{align-self:flex-end!important}}.patient-info{display:flex!important;flex-direction:column!important;gap:.3rem!important}.patient-name{color:#2c3e50!important;font-weight:600!important}.patient-details{color:#6c757d!important;display:flex!important;font-size:.9rem!important;gap:1rem!important}.no-results,.search-loading{color:#6c757d!important;font-style:italic!important;padding:1rem!important;text-align:center!important}.selected-patient-info{background:linear-gradient(135deg,#e3f2fd,#f3e5f5)!important;border:2px solid #667eea!important;border-radius:12px!important;margin-top:1rem!important;padding:1.5rem!important}.selected-patient-info h4{color:#2c3e50!important;font-weight:700!important;margin:0 0 1rem!important}.patient-card{background:#fff!important;border:1px solid #dee2e6!important;border-radius:8px!important;padding:1rem!important}.error-text{color:#dc3545!important;font-size:.85rem!important;font-weight:600!important;margin-top:.3rem!important}.error-message{background:#f8d7da!important;border:1px solid #f5c6cb!important;border-radius:8px!important;color:#721c24!important;margin:1rem 0!important;padding:1rem!important;text-align:center!important}.form-actions{border-top:1px solid #e9ecef!important;display:flex!important;gap:1rem!important;justify-content:center!important;margin-top:2rem!important;padding-top:1.5rem!important}.btn-cancel,.btn-submit{border:none!important;border-radius:12px!important;cursor:pointer!important;font-size:1rem!important;font-weight:600!important;letter-spacing:.5px!important;min-width:120px!important;padding:1rem 2rem!important;text-transform:uppercase!important;transition:all .3s ease!important}.btn-cancel{background:linear-gradient(135deg,#6c757d,#495057)!important;color:#fff!important}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important}.btn-cancel:hover,.btn-submit:hover{box-shadow:0 6px 15px #0003!important;transform:translateY(-2px)!important}.btn-cancel:disabled,.btn-submit:disabled{box-shadow:none!important;cursor:not-allowed!important;opacity:.6!important;transform:none!important}@media (max-width:768px){.booking-popup-overlay,.confirmation-popup-overlay,.popup-overlay,.view-appointment-popup-overlay{padding:.5rem!important}.booking-popup-container,.confirmation-popup-container,.view-appointment-popup-container{max-height:95vh!important;max-width:95vw!important}.booking-popup-form,.booking-popup-header,.confirmation-popup-content,.confirmation-popup-header,.view-appointment-content,.view-appointment-header{padding:1.5rem!important}.detail-grid,.form-row{grid-template-columns:1fr!important}.patient-type-selector{flex-direction:column!important}}@media (max-width:480px){.booking-popup-header h3,.confirmation-popup-header h3,.header-content h3{font-size:1.5rem!important}.confirmation-icon{font-size:2rem!important;height:60px!important;width:60px!important}.confirmation-popup-actions,.form-actions{flex-direction:column!important;gap:.8rem!important}.btn-cancel,.btn-cancel-action,.btn-cancel-confirm,.btn-close-details,.btn-complete,.btn-confirm,.btn-submit{width:100%!important}}.popup-overlay.closing{animation:popupOverlayFadeOut .3s ease}@keyframes popupOverlayFadeOut{0%{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1}to{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0}}.popup-container.closing{animation:popupSlideOut .4s cubic-bezier(.55,.06,.68,.19)}@keyframes popupSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-30px) scale(.9)}}.popup-overlay:focus-within{outline:none}.book-appointment-btn:focus,.book-appointment-close-btn:focus,.confirmation-popup-btn:focus,.view-appointment-close-btn:focus{outline:3px solid #667eea80;outline-offset:2px}.book-appointment-form-group input:focus,.book-appointment-form-group select:focus,.book-appointment-form-group textarea:focus,.confirmation-popup-input-section textarea:focus{outline:3px solid #667eea4d;outline-offset:2px}.popup-container{border-image:linear-gradient(90deg,#667eea,#764ba2) 1;border-top:5px solid #0000}.book-appointment-popup,.confirmation-popup,.view-appointment-popup{box-shadow:0 0 0 1px #667eea1a,0 25px 50px #00000040,inset 0 1px 0 #fffc}.popup-loading-overlay{align-items:center;animation:loadingFadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}@keyframes loadingFadeIn{0%{opacity:0}to{opacity:1}}.popup-loading-spinner{animation:popupSpinner 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;width:50px}@keyframes popupSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.timeline-slot-locked{align-items:center;animation:lockPulse 2s infinite;background:linear-gradient(135deg,#ffa726,#ff9800);border-radius:20px;box-shadow:0 4px 12px #ffa7264d;color:#fff;display:inline-flex;font-size:.85rem;font-weight:600;gap:.5rem;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}@keyframes lockPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.timeline-action-btn.edit{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.timeline-action-btn.edit:hover{background:linear-gradient(135deg,#f57c00,#e65100);box-shadow:0 6px 12px #ff98004d}.edit-appointment-popup{max-width:600px!important}.edit-appointment-form-group{margin-bottom:1.5rem!important}.edit-appointment-form-group label{color:#495057!important;display:block!important;font-size:.95rem!important;font-weight:700!important;margin-bottom:.5rem!important}.edit-appointment-form-group input,.edit-appointment-form-group select,.edit-appointment-form-group textarea{background:#fff!important;border:2px solid #dee2e6!important;border-radius:8px!important;box-sizing:border-box!important;font-family:inherit!important;font-size:1rem!important;padding:1rem!important;transition:all .3s ease!important;width:100%!important}.edit-appointment-form-group input:focus,.edit-appointment-form-group select:focus,.edit-appointment-form-group textarea:focus{border-color:#667eea!important;box-shadow:0 0 0 4px #667eea26!important;outline:none!important;transform:translateY(-1px)!important}.edit-appointment-btn-cancel,.edit-appointment-btn-submit{border:none!important;border-radius:12px!important;cursor:pointer!important;font-size:1rem!important;font-weight:600!important;letter-spacing:.5px!important;min-width:120px!important;padding:1rem 2rem!important;text-transform:uppercase!important;transition:all .3s ease!important}.edit-appointment-btn-cancel{background:linear-gradient(135deg,#6c757d,#495057)!important;color:#fff!important}.edit-appointment-btn-submit{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important}.edit-appointment-btn-cancel:hover,.edit-appointment-btn-submit:hover{box-shadow:0 6px 15px #0003!important;transform:translateY(-2px)!important}.edit-appointment-btn-cancel:disabled,.edit-appointment-btn-submit:disabled{box-shadow:none!important;cursor:not-allowed!important;opacity:.6!important;transform:none!important}.edit-appointment-header-compact{align-items:center!important;display:flex!important;flex-direction:row!important;gap:1rem!important;justify-content:flex-start!important;padding:1.2rem 2rem!important}.edit-appointment-header-compact h3{font-size:1.3rem!important;margin:0!important;white-space:nowrap!important}.edit-appointment-header-compact .slot-info{align-items:center!important;display:flex!important;flex:1 1!important;flex-direction:row!important;gap:.8rem!important;margin:0!important}.edit-appointment-header-compact .close-btn{flex-shrink:0!important}.timeline-summary-item.cancelled{background:#ef535026;border-color:#ef5350b3}.cancelled-breakdown{font-size:.85em;font-weight:500;opacity:.9}.doctors-for-app{margin:0 auto;max-width:1400px;padding:1.5rem}.doctors-for-app-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.doctors-for-app-header h2{color:#1a1a1a;font-size:2rem;font-weight:600;margin:0}.doctors-for-app-header p{color:#666;font-size:1rem;margin:.5rem 0 0}.doctors-for-app-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{border:1px solid #e0e0e0}.stat-card p{color:#666}.doctors-for-app-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:2rem}.doctor-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:all .3s ease}.doctor-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.doctor-card.inactive{border-color:#ccc;opacity:.7}.doctor-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.doctor-info h3{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin:0}.doctor-info .specialization{color:#667eea;font-size:.95rem;font-weight:500;margin:.25rem 0}.doctor-info .experience{color:#666;font-size:.85rem;margin:0}.doctor-info .qualification{color:#666;font-size:.85rem;margin-top:.25rem}.doctor-description{color:#666;font-size:.9rem;line-height:1.4;margin:1rem 0}.status-badge{font-size:.75rem}.doctor-card-body,.doctor-stats{margin-bottom:1rem}.doctor-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.stat{text-align:center}.stat-value{color:#1a1a1a;display:block;font-size:1.1rem;font-weight:600}.stat-label{color:#666;display:block;font-size:.8rem;margin-top:.25rem}.doctor-availability p{color:#666;font-size:.9rem;margin:.25rem 0}.doctor-card-footer{display:flex;flex-wrap:wrap;gap:.5rem}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;justify-content:center;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#667eea}.btn-primary:hover:not(:disabled){background:#5a6fd8}.btn-outline{background:#0000;border:1px solid #667eea;color:#667eea}.btn-outline:hover:not(:disabled){background:#667eea;color:#fff}.btn-danger{background:#dc3545}.btn-danger:hover:not(:disabled){background:#c82333}.btn-sm{font-size:.75rem;padding:.25rem .5rem}.doctors-for-app-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:1rem;width:40px}.doctors-for-app-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;padding:1.5rem;text-align:center}.doctors-for-app-empty{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#666;padding:3rem 2rem;text-align:center}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:90vw;overflow:auto}.doctor-form-modal{width:800px}.doctor-view-modal{width:600px}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#1a1a1a;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;width:30px}.modal-close:hover{background:#f0f0f0;color:#333}.modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.doctor-form{padding:1.5rem}.form-section{margin-bottom:2rem}.form-section h3{border-bottom:1px solid #e0e0e0;color:#1a1a1a;font-size:1.1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.form-row{grid-gap:1rem;gap:1rem}.form-group,.form-row{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-size:.9rem;padding:.75rem;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.form-group input.error,.form-group textarea.error{border-color:#dc3545}.error-text{color:#dc3545;display:block;font-size:.8rem;margin-top:.25rem}.form-group input[type=checkbox]{margin-right:.5rem;width:auto}.form-actions{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.day-schedule{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1rem;padding:1rem}.day-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.day-name{font-weight:500;margin-left:.5rem;text-transform:capitalize}.time-slots{flex-direction:column}.time-slot{align-items:center;display:flex;gap:.5rem}.time-slot input[type=time]{flex:0 0 auto;width:auto}.time-slot span{color:#666;font-size:.9rem}.doctor-view-content{padding:1.5rem}.doctor-info-section{margin-bottom:2rem}.doctor-basic-info h3{color:#1a1a1a;font-size:1.5rem;font-weight:600;margin:0}.doctor-basic-info .specialization{color:#667eea;font-weight:500;margin:.25rem 0}.doctor-basic-info .experience,.doctor-basic-info .qualification{color:#666;margin:.25rem 0}.doctor-description{margin-top:1rem}.doctor-description h4{color:#333;font-size:1rem;margin:0 0 .5rem}.doctor-description p{color:#666;line-height:1.5;margin:0}.doctor-stats-section{margin-bottom:2rem}.doctor-stats-section h4{color:#333;font-size:1.1rem;margin:0 0 1rem}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;padding:1rem}.stat-item .stat-label{color:#666;font-size:.8rem;margin-bottom:.25rem}.stat-item .stat-value{color:#333;font-size:1.1rem;font-weight:600}.doctor-schedule-section{margin-bottom:2rem}.doctor-schedule-section h4{color:#333;font-size:1.1rem;margin:0 0 1rem}.schedule-list{display:flex;flex-direction:column;gap:.75rem}.schedule-day{align-items:center;border:1px solid #e0e0e0;border-radius:6px;display:flex;padding:.75rem}.schedule-day.available{background:#f8f9fa;border-color:#28a745}.schedule-day.unavailable{background:#fff5f5;border-color:#dc3545;opacity:.7}.schedule-day .day-name{flex:0 0 100px;font-weight:500;text-transform:capitalize}.schedule-day .day-slots{flex:1 1}.time-slots{display:flex;flex-wrap:wrap;gap:.5rem}.time-slot{background:#fff;border:1px solid #28a745;border-radius:4px;font-size:.8rem;padding:.25rem .5rem}.time-slot.inactive{border-color:#dc3545;color:#dc3545}.no-slots,.unavailable-text{color:#666;font-size:.9rem;font-style:italic}.available-days-section{margin-bottom:2rem}.available-days-section h4{color:#333;font-size:1.1rem;margin:0 0 1rem}.available-days{display:flex;flex-wrap:wrap;gap:.5rem}.day-tag{background:#667eea;border-radius:20px;color:#fff;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.doctor-timestamps{border-top:1px solid #e0e0e0;padding-top:1rem}.doctor-timestamps p{color:#666;font-size:.8rem;margin:.25rem 0}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-header h3{margin:0}.checkbox-label{align-items:center;cursor:pointer;display:flex}.checkbox-label input[type=checkbox]{margin-right:.5rem;width:auto}.checkbox-label span{font-weight:500}.empty-timings{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;padding:2rem;text-align:center}.timings-list{display:flex;flex-direction:column;gap:1.5rem}.timing-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem}.timing-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.timing-header h4{color:#333;font-size:1.1rem;margin:0}.timing-form{display:flex;flex-direction:column;gap:1rem}.doctor-timings-section{margin-bottom:2rem}.doctor-timings-section h4{color:#333;font-size:1.1rem;margin:0 0 1rem}.no-timings{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#6c757d;padding:2rem;text-align:center}.timings-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.timing-card-view{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1rem}.timing-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.timing-card-header h5{color:#333;font-size:1rem;font-weight:600;margin:0}.doctor-image{border-radius:50%;flex-shrink:0;height:50px;overflow:hidden;width:50px}.doctor-image img{height:100%;object-fit:cover;width:100%}.timing-card-body{display:flex;flex-direction:column}.timing-info p{color:#666;font-size:.9rem;margin:.5rem 0}.timing-info .doctor-name,.timing-info .time-description{color:#333}.special-note{background:#f8f9fa;border-left:4px solid #667eea;border-radius:4px;margin-top:.75rem;padding:.75rem}.special-note strong{color:#333;display:block;margin-bottom:.5rem}.special-note p{color:#666;font-style:italic;margin:0}.doctor-main-image{border:2px solid #e0e0e0;border-radius:50%;height:80px;margin-top:.5rem;overflow:hidden;width:80px}.doctor-main-image img{height:100%;object-fit:cover;width:100%}.doctor-display-name{color:#667eea!important;font-weight:500!important;margin:.25rem 0!important}.doctor-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.doctor-status{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}@media (max-width:768px){.doctors-for-app{padding:1rem}.doctors-for-app-header{align-items:flex-start;flex-direction:column}.doctors-for-app-grid{grid-template-columns:1fr}.doctor-form-modal,.doctor-view-modal{width:95vw}.doctor-stats,.form-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.schedule-day{align-items:flex-start;flex-direction:column}.schedule-day .day-name{flex:none;margin-bottom:.5rem}.timings-grid{grid-template-columns:1fr}.timing-header{gap:.5rem}.section-header,.timing-header{align-items:flex-start;flex-direction:column}.section-header{gap:.75rem}.timing-card-header{align-items:flex-start;flex-direction:column;gap:.5rem}.doctor-image{align-self:center}.doctor-header{flex-direction:column;gap:1rem}.doctor-status{align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%}.doctor-main-image{height:60px;width:60px}}@media (max-width:480px){.doctor-card-footer{flex-direction:column}.btn{width:100%}.stats-grid{grid-template-columns:1fr}.timing-card{padding:1rem}.timing-card-view{padding:.75rem}}.portal-access-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;padding:3px 10px}.portal-access-badge--active{background:#d1fae5;color:#065f46}.portal-access-badge--inactive{background:#f3f4f6;color:#6b7280}.form-section-hint{color:#6b7280;font-size:.82rem;line-height:1.5;margin:-4px 0 14px}.input-password-wrap{align-items:center;display:flex;position:relative}.input-password-wrap input{flex:1 1;padding-right:2.5rem}.input-password-toggle{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1rem;line-height:1;padding:0;position:absolute;right:8px}.input-password-toggle:hover{color:#111827}.credentials-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:1.25rem;padding:1rem}.credentials-section h4{align-items:center;color:#374151;display:flex;font-size:.9rem;font-weight:600;gap:8px;margin:0 0 .75rem}.credentials-row{display:flex;flex-direction:column;gap:6px}.credentials-item{display:flex;font-size:.85rem;gap:8px}.credentials-item__label{color:#6b7280;font-weight:500;min-width:70px}.credentials-item__value{color:#111827;word-break:break-all}.credentials-item__value--muted{color:#9ca3af;font-style:italic}.app-management{font-family:inherit;margin:0 auto;max-width:1200px;padding:1.5rem}.am-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.am-header h2{color:#1a1a2e;font-size:1.5rem;margin:0 0 .25rem}.am-header p{color:#666;font-size:.9rem;margin:0}.am-stats{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.am-stat-card{align-items:center;background:#fff;border:1px solid #e8ecf0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;min-width:110px;padding:1rem 1.5rem}.am-stat-card.android{border-top:3px solid #a4c639}.am-stat-card.ios{border-top:3px solid #555}.am-stat-num{color:#667eea;font-size:1.8rem;font-weight:700}.am-stat-label{color:#888;font-size:.78rem;margin-top:.25rem;text-align:center}.am-tabs{border-bottom:2px solid #e8ecf0;display:flex;gap:.5rem;margin-bottom:1.25rem}.am-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:.95rem;font-weight:500;margin-bottom:-2px;padding:.6rem 1.5rem;transition:all .2s}.am-tab:hover{color:#667eea}.am-tab.active{border-bottom-color:#667eea;color:#667eea}.am-alert{border-radius:8px;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.am-alert-error{background:#fff0f0;border:1px solid #f5c6cb;color:#c0392b}.am-alert-success{background:#f0fff4;border:1px solid #c3e6cb;color:#27ae60}.am-form{display:flex;flex-direction:column;gap:1.25rem}.am-form-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}@media (max-width:700px){.am-form-grid{grid-template-columns:1fr}}.am-message-card,.am-platform-card{background:#fff;border:1px solid #e8ecf0;border-radius:12px;box-shadow:0 1px 4px #0000000f;padding:1.25rem}.am-message-card h3,.am-platform-card h3{color:#333;font-size:1rem;margin:0 0 1rem}.android-card{border-top:3px solid #a4c639}.ios-card{border-top:3px solid #555}.am-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.am-field label{color:#444;font-size:.85rem;font-weight:600}.am-hint{color:#999;font-size:.8rem;font-weight:400}.am-field input[type=number],.am-field input[type=text],.am-field textarea,.am-select{background:#fafafa;border:1px solid #dde2e8;border-radius:7px;color:#333;font-size:.9rem;outline:none;padding:.55rem .75rem;transition:border .2s}.am-field input:focus,.am-field textarea:focus,.am-select:focus{background:#fff;border-color:#667eea}.am-field textarea{resize:vertical}.am-field-toggle{align-items:center;flex-direction:row;gap:.75rem;margin-bottom:.85rem}.am-field-toggle label:first-child{flex:1 1}.am-toggle{cursor:pointer;display:inline-block;height:24px;position:relative;width:44px}.am-toggle input{height:0;opacity:0;width:0}.am-toggle-slider{background:#ccc;border-radius:24px;inset:0;position:absolute;transition:.3s}.am-toggle-slider:before{background:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.am-toggle input:checked+.am-toggle-slider{background:#667eea}.am-toggle input:checked+.am-toggle-slider:before{transform:translateX(20px)}.am-toggle-label{font-size:.82rem;font-weight:600}.am-toggle-label.on{color:#27ae60}.am-toggle-label.off{color:#e74c3c}.am-form-actions{align-items:center;display:flex;gap:.75rem}.am-btn-save{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.65rem 2rem;transition:background .2s}.am-btn-save:hover:not(:disabled){background:#5a6fd6}.am-btn-save:disabled{cursor:not-allowed;opacity:.6}.am-btn-reset{background:#f0f2f5;border:1px solid #dde2e8;border-radius:8px;color:#555;cursor:pointer;font-size:.9rem;padding:.65rem 1.5rem;transition:background .2s}.am-btn-reset:hover:not(:disabled){background:#e5e8ed}.am-last-updated{color:#999;font-size:.8rem;margin:0}.am-logs{display:flex;flex-direction:column;gap:1rem}.am-logs-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.am-select{min-width:140px}.am-btn-refresh{background:#667eea;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.55rem 1.25rem;transition:background .2s}.am-btn-refresh:hover{background:#5a6fd6}.am-table-wrap{border:1px solid #e8ecf0;border-radius:10px;overflow-x:auto}.am-table{background:#fff;border-collapse:collapse;font-size:.85rem;width:100%}.am-table th{background:#f7f8fa;border-bottom:1px solid #e8ecf0;color:#555;font-weight:600;padding:.75rem .9rem;text-align:left;white-space:nowrap}.am-table td{border-bottom:1px solid #f0f2f5;color:#333;padding:.7rem .9rem;vertical-align:middle}.am-table tr:last-child td{border-bottom:none}.am-table tr:hover td{background:#f9fafb}.am-td-date{color:#666;font-size:.8rem;white-space:nowrap}.am-badge{border-radius:12px;display:inline-block;font-size:.78rem;font-weight:600;padding:.2rem .6rem;white-space:nowrap}.am-badge-android{background:#e8f5e9;color:#2e7d32}.am-badge-ios{background:#f3f3f3;color:#333}.am-badge-install{background:#e3f2fd;color:#1565c0}.am-badge-update{background:#fff3e0;color:#e65100}.am-badge-launch{background:#f3e5f5;color:#6a1b9a}.am-version{font-weight:600}.am-version-code{color:#999;font-size:.78rem;margin-left:3px}.am-muted{color:#bbb;font-size:.82rem}.am-req{border-radius:10px;font-size:.78rem;font-weight:700;padding:.15rem .5rem}.am-req.force{background:#fdecea;color:#c62828}.am-req.soft{background:#fff8e1;color:#f57f17}.am-pagination{align-items:center;color:#555;display:flex;font-size:.88rem;gap:1rem;justify-content:center;padding:1rem 0 0}.am-pagination button{background:#fff;border:1px solid #dde2e8;border-radius:7px;cursor:pointer;font-size:.85rem;padding:.45rem 1rem;transition:background .2s}.am-pagination button:hover:not(:disabled){background:#f0f2f5}.am-pagination button:disabled{cursor:not-allowed;opacity:.4}.am-empty{background:#fff;border:1px solid #e8ecf0;border-radius:10px;color:#999;padding:3rem;text-align:center}.am-loading{align-items:center;color:#666;display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:3rem}.am-spinner{animation:spin .8s linear infinite;border:3px solid #e8ecf0;border-radius:50%;border-top-color:#667eea;height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.dashboard{margin:0 auto;max-width:1400px}.dashboard-header{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem}.header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.dashboard-header h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin:0}.header-actions{align-items:center;display:flex;gap:1.5rem}.token-info{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.token-label{color:#6c757d;font-size:.75rem;font-weight:500}.token-time{background:#d4edda;border-radius:6px;color:#28a745;font-size:1rem;font-weight:700;padding:.25rem .75rem}.token-time.warning{animation:pulse 2s infinite;background:#f8d7da;color:#dc3545}.logout-btn{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.logout-btn:hover{background:#c82333;box-shadow:0 4px 12px #dc35454d;transform:translateY(-2px)}.logout-warning{align-items:center;animation:slideDown .3s ease;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;display:flex;font-weight:500;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.5rem}.warning-logout-btn{background:#ffc107;border:none;border-radius:6px;color:#212529;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s}.warning-logout-btn:hover{background:#e0a800}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dashboard-nav{background:#f8f9fa;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:.5rem;padding:.5rem}.nav-button{background:#0000;border:none;border-radius:8px;color:#6c757d;cursor:pointer;font-weight:500;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all .3s ease}.nav-button:hover{background:#667eea1a;color:#667eea}.nav-button.active{background:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff}.nav-button.active:after{background:#fffc;border-radius:2px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:30px}.dashboard-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;min-height:500px;padding:2rem}.availability-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 8px 25px #667eea4d;color:#fff;margin:2rem 0;padding:2rem;text-align:center}.availability-section .section-header{margin-bottom:2rem}.availability-section .section-header h2{font-size:2rem;font-weight:600;margin:0 0 1rem;text-shadow:0 2px 4px #0003}.availability-section .section-header p{font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:600px;opacity:.9}.manage-availability-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:50px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;letter-spacing:.5px;padding:1rem 2rem;text-transform:uppercase;transition:all .3s ease}.manage-availability-btn:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 8px 20px #0003;transform:translateY(-2px)}.manage-availability-btn:active{box-shadow:0 4px 10px #0003;transform:translateY(0)}.booking-system-status{align-items:center;background:#e3f2fd;border:1px solid #2196f3;border-radius:20px;color:#1565c0;display:inline-flex;font-size:.85rem;gap:.5rem;margin-top:1rem;padding:.5rem 1rem}.booking-system-status.custom-system{background:#f3e5f5;border-color:#9c27b0;color:#7b1fa2}.booking-system-status.microsoft-disabled{background:#fff3e0;border-color:#ff9800;color:#e65100}.status-indicator{background:currentColor;border-radius:50%;height:8px;width:8px}.availability-quick-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:2rem 0}.availability-stat-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;text-align:center;transition:all .3s ease}.availability-stat-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.availability-stat-card .stat-number{color:#667eea;display:block;font-size:2rem;font-weight:700;margin-bottom:.5rem}.availability-stat-card .stat-label{color:#6c757d;font-size:.9rem;font-weight:500}.integration-status-banner{background:linear-gradient(90deg,#ffeaa7,#fab1a0);border:1px solid #fdcb6e;border-radius:8px;color:#2d3436;font-weight:500;margin-bottom:2rem;padding:1rem;text-align:center}.integration-status-banner.disabled{background:linear-gradient(90deg,#ddd6fe,#e0e7ff);border-color:#a78bfa;color:#5b21b6}.integration-status-banner .banner-title{display:block;font-weight:600;margin-bottom:.5rem}.integration-status-banner .banner-message{font-size:.9rem;opacity:.9}@media (max-width:768px){.availability-section{margin:1rem 0;padding:1.5rem 1rem}.availability-section .section-header h2{font-size:1.5rem}.availability-section .section-header p{font-size:1rem}.manage-availability-btn{font-size:1rem;padding:.8rem 1.5rem}.dashboard-nav{flex-direction:column;gap:.25rem}.nav-button{padding:.8rem 1rem;text-align:center}.availability-quick-stats{gap:.75rem;grid-template-columns:1fr}.dashboard-content{padding:1rem}}@media (max-width:480px){.dashboard-nav{flex-direction:column;gap:.5rem}.nav-button{width:100%}}.user-view-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.user-view-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-height:90vh;max-width:800px;overflow:hidden;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.user-view-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e5e5e5;color:#fff;display:flex;justify-content:space-between;padding:24px}.header-left h2{font-size:24px;font-weight:600;margin:0 0 12px}.user-badges{display:flex;flex-wrap:wrap;gap:8px}.status-badge{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px}.status-badge.active{background-color:#22c55e33;border:1px solid #22c55e4d;color:#22c55e}.status-badge.inactive{background-color:#ef444433;border:1px solid #ef44444d;color:#ef4444}.role-badge{background-color:#fff3;border:1px solid #ffffff4d;border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.role-badge.role-admin{background-color:#a855f733;border:1px solid #a855f74d;color:#a855f7}.role-badge.role-doctor{background-color:#3b82f633;border:1px solid #3b82f64d;color:#3b82f6}.role-badge.role-patient{background-color:#22c55e33;border:1px solid #22c55e4d;color:#22c55e}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.close-btn:hover{background-color:#ffffff1a;transform:scale(1.1)}.user-view-content{max-height:60vh;overflow-y:auto;padding:24px}.info-section{margin-bottom:32px}.info-section:last-child{margin-bottom:0}.info-section h3{border-bottom:2px solid #f3f4f6;color:#374151;font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-item.full-width{grid-column:1/-1}.info-item label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#111827;font-size:14px;min-height:20px;padding:8px 12px;word-break:break-word}.user-id{background-color:#1f2937!important;border-color:#374151!important;color:#f9fafb!important;font-family:Monaco,Menlo,monospace;font-size:12px!important}.user-view-actions{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.btn-danger,.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover{background-color:#4b5563;transform:translateY(-1px)}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb;transform:translateY(-1px)}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#dc2626;transform:translateY(-1px)}@media (max-width:768px){.user-view-modal{margin:20px;width:95%}.user-view-header{padding:16px}.header-left h2{font-size:20px}.user-view-content{padding:16px}.info-grid{grid-template-columns:1fr}.user-view-actions{flex-direction:column-reverse;padding:16px}.btn-danger,.btn-primary,.btn-secondary{justify-content:center;width:100%}}.user-view-content::-webkit-scrollbar{width:6px}.user-view-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.user-view-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.user-view-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.users-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.users-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:2rem}.users-header h2{color:#2c3e50;flex:1 1;font-size:1.8rem;font-weight:600;margin:0}.users-controls{align-items:center;display:flex;gap:1rem}.search-input{border:1px solid #ddd;border-radius:6px;font-size:.9rem;min-width:200px;padding:.5rem 1rem;transition:border-color .3s ease}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.filter-select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.add-user-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .3s ease}.add-user-btn:hover{background:#218838}.error-message{align-items:center;background:#f8d7da;border-left:4px solid #dc3545;color:#721c24;display:flex;justify-content:space-between;margin:0;padding:1rem 2rem}.close-error{background:none;border:none;color:#721c24;cursor:pointer;font-size:1.5rem;height:24px;padding:0;width:24px}.loading-overlay{align-items:center;background:#fffc;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.loading-spinner{color:#667eea;font-weight:500}.no-data{color:#6c757d;font-style:italic;padding:2rem;text-align:center}.users-stats{grid-gap:1.5rem;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:2rem}.stat-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;text-align:center}.stat-card h3{color:#667eea;font-size:2rem;font-weight:700;margin:0}.stat-card p{color:#6c757d;font-size:.9rem;margin:.5rem 0 0}.users-table{overflow-x:auto;position:relative}.users-table table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #e9ecef;padding:1rem;text-align:left}.users-table th{background:#f8f9fa;color:#495057;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.users-table td{vertical-align:top}.user-info strong{color:#2c3e50;display:block;font-weight:600;margin-bottom:.25rem}.user-info small{color:#6c757d;font-size:.85rem;text-transform:capitalize}.role-badge{border-radius:15px;font-size:.8rem;font-weight:500;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.role-patient{background:#e3f2fd;color:#1976d2}.role-doctor{background:#f3e5f5;color:#7b1fa2}.role-admin{background:#fff3e0;color:#f57c00}.status-badge{border-radius:15px;font-size:.8rem;font-weight:500;padding:.25rem .75rem;text-transform:uppercase}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.action-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;padding:.35rem .75rem;transition:all .2s ease}.action-buttons button:disabled{cursor:not-allowed;opacity:.6}.btn-view{background:#17a2b8;color:#fff}.btn-view:hover:not(:disabled){background:#138496}.btn-edit{background:#ffc107;color:#212529}.btn-edit:hover:not(:disabled){background:#e0a800}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover:not(:disabled){background:#c82333}@media (max-width:768px){.users-header{align-items:stretch;flex-direction:column}.users-controls{flex-wrap:wrap;justify-content:space-between}.search-input{min-width:150px}.users-stats{grid-template-columns:repeat(2,1fr)}.action-buttons{flex-direction:column;gap:.25rem}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 15px 35px #0000001a;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#2c3e50;font-size:2.2rem;font-weight:600;margin-bottom:10px}.login-header p{color:#7f8c8d;font-size:1rem;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{gap:8px}.form-group label{color:#2c3e50}.form-group input{border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;padding:12px 16px;transition:border-color .3s ease,box-shadow .3s ease}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input::placeholder{color:#95a5a6}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 20px;transition:transform .2s ease,box-shadow .2s ease}.login-button:hover:not(:disabled){box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.error-message{border-left:4px solid #e53e3e;border-radius:6px;color:#c53030}.login-footer{border-top:1px solid #e1e8ed;margin-top:25px;padding-top:20px;text-align:center}.login-footer p{color:#7f8c8d;font-size:.9rem;margin:0}.register-link{color:#667eea;font-weight:500;margin-left:4px;text-decoration:none}.register-link:hover{color:#5a67d8;text-decoration:underline}@media (max-width:480px){.login-container{padding:10px}.login-card{padding:30px 20px}.login-header h1{font-size:1.8rem}}.register-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.register-card{background:#fff;border-radius:10px;box-shadow:0 15px 35px #0000001a;margin:0 auto;max-width:600px;padding:40px;width:100%}.register-header{margin-bottom:30px;text-align:center}.register-header h1{color:#333;font-size:2rem;font-weight:600;margin-bottom:8px}.register-header p{color:#666;font-size:1rem;margin:0}.register-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column}.form-group label{color:#333;font-size:.95rem;font-weight:500;margin-bottom:5px}.form-group input,.form-group select{background-color:#fff;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;padding:12px 16px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input::placeholder{color:#aaa}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:.9rem;padding:12px 16px;text-align:center}.register-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:10px;padding:14px 24px;transition:all .3s ease}.register-button:hover{box-shadow:0 5px 15px #667eea4d;transform:translateY(-2px)}.register-button:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.auth-link{color:#666;margin-top:20px;text-align:center}.auth-link a{color:#667eea;font-weight:500;text-decoration:none}.auth-link a:hover{text-decoration:underline}@media (max-width:768px){.register-container{padding:15px}.register-card{padding:30px 25px}.form-row{gap:20px;grid-template-columns:1fr}.register-header h1{font-size:1.75rem}}@media (max-width:480px){.register-card{padding:25px 20px}.register-header h1{font-size:1.5rem}.form-group input,.form-group select{padding:10px 14px}.register-button{font-size:1rem;padding:12px 20px}}.session-expired-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.session-expired-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:40px;text-align:center;width:90%}.session-expired-icon{animation:pulse 2s infinite;margin:0 auto 24px}.session-expired-modal h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 12px}.session-expired-modal p{color:#6b7280;font-size:16px;line-height:1.5;margin:0 0 24px}.countdown-timer{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;color:#92400e;font-size:14px;font-weight:500;margin:0 0 24px;padding:12px 20px}.countdown-timer span{color:#b45309;font-size:18px;font-weight:700}.session-expired-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .2s;width:100%}.session-expired-btn:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.session-expired-btn:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}:root{--dp-primary:#0d6efd;--dp-primary-dark:#0a4fc4;--dp-primary-light:#ebf3ff;--dp-teal:#0d9488;--dp-teal-light:#ccfbf1;--dp-surface:#f1f5f9;--dp-card:#fff;--dp-border:#e2e8f0;--dp-text-primary:#0f172a;--dp-text-secondary:#475569;--dp-text-muted:#94a3b8;--dp-success:#16a34a;--dp-success-bg:#dcfce7;--dp-warning:#d97706;--dp-warning-bg:#fef9c3;--dp-danger:#dc2626;--dp-danger-bg:#fee2e2;--dp-info:#0284c7;--dp-info-bg:#dbeafe;--dp-sidebar-bg:#0f172a;--dp-sidebar-text:#cbd5e1;--dp-sidebar-hover:#1e293b;--dp-sidebar-active:#1e293b;--dp-sidebar-accent:#3b82f6;--dp-sidebar-width:260px;--dp-sidebar-collapsed:72px;--dp-header-height:64px;--dp-radius:12px;--dp-radius-sm:8px;--dp-shadow:0 1px 3px #00000012,0 1px 2px #0000000d;--dp-shadow-lg:0 4px 16px #0000001a}.dp-shell{background:#f1f5f9;background:var(--dp-surface);color:#0f172a;color:var(--dp-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100vh}.dp-shell,.dp-sidebar{display:flex;overflow:hidden}.dp-sidebar{background:#0f172a;background:var(--dp-sidebar-bg);flex-direction:column;flex-shrink:0;transition:width .22s ease;width:260px;width:var(--dp-sidebar-width)}.dp-shell--collapsed .dp-sidebar{width:72px;width:var(--dp-sidebar-collapsed)}.dp-sidebar__brand{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;padding:20px 16px 16px}.dp-sidebar__brand-text{display:flex;flex-direction:column;overflow:hidden}.dp-brand-name{color:#f8fafc;font-size:15px;font-weight:700;white-space:nowrap}.dp-brand-sub{font-size:11px;margin-top:1px;white-space:nowrap}.dp-brand-sub,.dp-collapse-btn{color:#cbd5e1;color:var(--dp-sidebar-text)}.dp-collapse-btn{align-items:center;background:#ffffff12;border:none;border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;height:28px;justify-content:center;transition:background .15s;width:28px}.dp-collapse-btn:hover{background:#ffffff24}.dp-sidebar__doctor{border-bottom:1px solid #ffffff0f;gap:10px;padding:16px}.dp-avatar,.dp-sidebar__doctor{align-items:center;display:flex}.dp-avatar{background:#0d6efd;background:var(--dp-primary);border-radius:50%;color:#fff;flex-shrink:0;font-size:14px;font-weight:700;height:40px;justify-content:center;-webkit-user-select:none;user-select:none;width:40px}.dp-avatar--sm{font-size:12px;height:34px;width:34px}.dp-doctor-info{display:flex;flex-direction:column;overflow:hidden}.dp-doctor-name{color:#f8fafc;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-doctor-role{color:#cbd5e1;color:var(--dp-sidebar-text);font-size:11px;margin-top:1px}.dp-sidebar__nav{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-y:auto;padding:12px 8px}.dp-nav-item{align-items:center;border-left:3px solid #0000;border-radius:8px;color:#cbd5e1;color:var(--dp-sidebar-text);display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 12px;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.dp-nav-item:hover{background:#1e293b;background:var(--dp-sidebar-hover);color:#f8fafc}.dp-nav-item--active{background:#1e293b;background:var(--dp-sidebar-active);border-left-color:#3b82f6;border-left-color:var(--dp-sidebar-accent);color:#f8fafc}.dp-nav-icon{flex-shrink:0;font-size:16px;text-align:center;width:20px}.dp-nav-label{overflow:hidden;text-overflow:ellipsis}.dp-sidebar__footer{border-top:1px solid #ffffff0f;padding:12px 8px}.dp-logout-btn{align-items:center;background:none;border:none;border-radius:8px;color:#cbd5e1;color:var(--dp-sidebar-text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 12px;transition:background .15s,color .15s;white-space:nowrap;width:100%}.dp-logout-btn:hover{background:#dc262626;color:#fca5a5}.dp-main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.dp-header{background:#fff;background:var(--dp-card);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--dp-border);box-shadow:0 1px 3px #00000012,0 1px 2px #0000000d;box-shadow:var(--dp-shadow);flex-shrink:0;height:64px;height:var(--dp-header-height);justify-content:space-between;padding:0 28px}.dp-header,.dp-header__left{align-items:center;display:flex}.dp-header__left{gap:16px}.dp-header__date{color:#475569;color:var(--dp-text-secondary);font-size:13px;font-weight:500}.dp-header__right{align-items:center;display:flex;gap:16px}.dp-back-btn{align-items:center;background:none;border:1px solid #e2e8f0;border:1px solid var(--dp-border);border-radius:8px;border-radius:var(--dp-radius-sm);color:#475569;color:var(--dp-text-secondary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:background .15s ease,color .15s ease,border-color .15s ease}.dp-back-btn:hover{background:#ebf3ff;background:var(--dp-primary-light);border-color:#0d6efd;border-color:var(--dp-primary);color:#0d6efd;color:var(--dp-primary)}.dp-refresh-btn{align-items:center;background:#0000;border:1px solid #e2e8f0;border:1px solid var(--dp-border);border-radius:8px;border-radius:var(--dp-radius-sm);color:#475569;color:var(--dp-text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .18s ease,color .18s ease,border-color .18s ease;width:36px}.dp-refresh-btn:hover{background:#ebf3ff;background:var(--dp-primary-light);border-color:#0d6efd;border-color:var(--dp-primary);color:#0d6efd;color:var(--dp-primary)}.dp-fullscreen-btn{align-items:center;background:#0000;border:1px solid #e2e8f0;border:1px solid var(--dp-border);border-radius:8px;border-radius:var(--dp-radius-sm);color:#475569;color:var(--dp-text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .18s ease,color .18s ease,border-color .18s ease;width:36px}.dp-fullscreen-btn:hover{background:#ebf3ff;background:var(--dp-primary-light);border-color:#0d6efd;border-color:var(--dp-primary);color:#0d6efd;color:var(--dp-primary)}.dp-header__user{align-items:center;display:flex;gap:9px}.dp-header__username{color:#0f172a;color:var(--dp-text-primary);font-size:14px;font-weight:600}.dp-content{box-sizing:border-box;flex:1 1;max-width:100%;min-width:0;overflow-x:hidden;overflow-y:auto;padding:28px}.dp-page-title{color:#0f172a;color:var(--dp-text-primary);font-size:22px;font-weight:700;margin:0 0 4px}.dp-page-subtitle{color:#475569;color:var(--dp-text-secondary);font-size:13px;margin:0}.dp-card{background:#fff;background:var(--dp-card);border:1px solid #e2e8f0;border:1px solid var(--dp-border);border-radius:12px;border-radius:var(--dp-radius);box-shadow:0 1px 3px #00000012,0 1px 2px #0000000d;box-shadow:var(--dp-shadow)}.dp-card-title{color:#0f172a;color:var(--dp-text-primary);font-size:15px;font-weight:600;margin:0 0 16px}.dp-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:600;line-height:1.4;padding:3px 9px;white-space:nowrap}.dp-badge--confirmed{background:#dcfce7;background:var(--dp-success-bg);color:#15803d}.dp-badge--scheduled{background:#fef9c3;background:var(--dp-warning-bg);color:#854d0e}.dp-badge--in-progress{background:#dbeafe;background:var(--dp-info-bg);color:#1d4ed8}.dp-badge--completed{background:#f1f5f9;color:#475569}.dp-badge--cancelled{background:#fee2e2;background:var(--dp-danger-bg);color:#b91c1c}.dp-badge--no-show{background:#fef3c7;color:#92400e}.dp-badge--draft{background:#f1f5f9;color:#64748b}.dp-badge--finalized{background:#ccfbf1;background:var(--dp-teal-light);color:#0f766e}.dp-btn{align-items:center;border:none;border-radius:8px;border-radius:var(--dp-radius-sm);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;text-decoration:none;transition:background .15s,opacity .15s;white-space:nowrap}.dp-btn--primary{background:#0d6efd;background:var(--dp-primary);color:#fff}.dp-btn--primary:hover{background:#0a4fc4;background:var(--dp-primary-dark)}.dp-btn--secondary{background:#f1f5f9;background:var(--dp-surface);border:1px solid #e2e8f0;border:1px solid var(--dp-border);color:#475569;color:var(--dp-text-secondary)}.dp-btn--secondary:hover{background:#e2e8f0}.dp-btn--ghost{background:none;border:1px solid #0d6efd;border:1px solid var(--dp-primary);color:#0d6efd;color:var(--dp-primary)}.dp-btn--ghost:hover{background:#ebf3ff;background:var(--dp-primary-light)}.dp-btn--danger{background:#dc2626;background:var(--dp-danger);color:#fff}.dp-btn--sm{font-size:12px;padding:5px 11px}.dp-btn:disabled{cursor:not-allowed;opacity:.5}.dp-divider{border:none;border-top:1px solid #e2e8f0;border-top:1px solid var(--dp-border);margin:16px 0}.dp-empty,.dp-loading{color:#94a3b8;color:var(--dp-text-muted);font-size:14px;padding:48px 24px;text-align:center}.dp-tag{align-items:center;background:#ebf3ff;background:var(--dp-primary-light);border-radius:6px;color:#0d6efd;color:var(--dp-primary);display:inline-flex;font-size:11px;font-weight:500;gap:4px;padding:3px 8px}.dp-hamburger{background:none;border:none;border-radius:6px;cursor:pointer;display:none;flex-direction:column;flex-shrink:0;gap:5px;height:36px;justify-content:center;padding:6px;width:36px}.dp-hamburger:hover{background:#f1f5f9;background:var(--dp-surface)}.dp-hamburger span{background:#0f172a;background:var(--dp-text-primary);border-radius:2px;display:block;height:2px;width:100%}.dp-mobile-overlay{background:#00000073;display:none;inset:0;position:fixed;z-index:99}@media (max-width:900px){.dp-sidebar{flex-shrink:0;max-width:72px!important;min-width:72px!important;width:72px!important}.dp-doctor-info,.dp-logout-btn span,.dp-nav-label,.dp-sidebar__brand-text{display:none!important}.dp-sidebar__brand{justify-content:center;padding:16px 8px}.dp-collapse-btn{display:none}.dp-sidebar__doctor{justify-content:center;padding:12px 8px}.dp-nav-item{border-left:none!important;border-radius:8px;justify-content:center;padding:10px}.dp-nav-item--active{background:#1e293b;background:var(--dp-sidebar-active);border-left:none!important}.dp-logout-btn{justify-content:center;padding:10px}.dp-content{padding:16px}.dp-header{padding:0 16px}}@media (max-width:600px){:root{--dp-sidebar-width:0px}.dp-hamburger{display:flex}.dp-mobile-overlay{display:block}.dp-sidebar{height:100vh;left:0;overflow:visible;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease;width:240px!important;z-index:100}.dp-sidebar .dp-doctor-info,.dp-sidebar .dp-logout-btn span,.dp-sidebar .dp-nav-label,.dp-sidebar .dp-sidebar__brand-text{display:flex}.dp-sidebar .dp-sidebar__brand{justify-content:space-between;padding:20px 16px 16px}.dp-sidebar .dp-sidebar__doctor{justify-content:flex-start;padding:16px}.dp-sidebar .dp-nav-item{border-left:3px solid #0000;justify-content:flex-start;padding:10px 12px}.dp-sidebar .dp-nav-item--active{border-left-color:#3b82f6;border-left-color:var(--dp-sidebar-accent)}.dp-sidebar .dp-logout-btn{justify-content:flex-start;padding:10px 12px}.dp-shell--mobile-open .dp-sidebar{transform:translateX(0)}.dp-shell--mobile-open .dp-mobile-overlay{display:block}.dp-main{width:100%}.dp-content{padding:12px}.dp-header{padding:0 12px}.dp-header__date{font-size:11px}.dp-header__username{font-size:12px}}.dp-content::-webkit-scrollbar,.dp-sidebar__nav::-webkit-scrollbar{width:4px}.dp-content::-webkit-scrollbar-track,.dp-sidebar__nav::-webkit-scrollbar-track{background:#0000}.dp-content::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--dp-border);border-radius:4px}.dp-sidebar__nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.ibm-overlay{align-items:center;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:200}.ibm-modal{background:#fff;background:var(--dp-card,#fff);border-radius:14px;box-shadow:0 20px 60px #0f172a40;display:flex;flex-direction:column;max-height:90vh;max-width:460px;width:100%}.ibm-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--dp-border,#e2e8f0);display:flex;justify-content:space-between;padding:20px 20px 16px}.ibm-title{color:#1a2740;color:var(--dp-text-primary,#1a2740);font-size:16px;font-weight:700}.ibm-subtitle{font-size:12px;margin-top:4px;max-width:340px}.ibm-close,.ibm-subtitle{color:#94a3b8;color:var(--dp-text-muted,#94a3b8)}.ibm-close{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:14px;padding:4px}.ibm-body{overflow-y:auto;padding:20px}.ibm-label{color:#475569;color:var(--dp-text-secondary,#475569);display:block;font-size:12px;font-weight:600;margin-bottom:6px}.ibm-optional{color:#94a3b8;color:var(--dp-text-muted,#94a3b8);font-weight:400}.ibm-input{background:#fff;background:var(--dp-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--dp-border,#e2e8f0);border-radius:8px;box-sizing:border-box;color:#1a2740;color:var(--dp-text-primary,#1a2740);font-family:inherit;font-size:14px;outline:none;padding:10px 12px;width:100%}.ibm-input:focus{border-color:#0d6efd;border-color:var(--dp-primary,#0d6efd)}.ibm-hint{color:#94a3b8;color:var(--dp-text-muted,#94a3b8);font-size:12px;margin-top:8px}.ibm-results{border:1px solid #e2e8f0;border:1px solid var(--dp-border,#e2e8f0);border-radius:8px;margin-top:10px;max-height:220px;overflow:hidden;overflow-y:auto}.ibm-result{align-items:center;background:#fff;background:var(--dp-card,#fff);border:none;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--dp-border,#e2e8f0);cursor:pointer;display:flex;font-family:inherit;gap:10px;padding:10px 12px;text-align:left;width:100%}.ibm-result:last-child{border-bottom:none}.ibm-avatar,.ibm-result:hover{background:#ebf3ff;background:var(--dp-primary-light,#ebf3ff)}.ibm-avatar{align-items:center;border-radius:50%;color:#0d6efd;color:var(--dp-primary,#0d6efd);display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:32px;justify-content:center;width:32px}.ibm-avatar--lg{font-size:16px;height:40px;width:40px}.ibm-result-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.ibm-result-name{color:#1a2740;color:var(--dp-text-primary,#1a2740);font-size:13px;font-weight:600}.ibm-result-meta{color:#94a3b8;color:var(--dp-text-muted,#94a3b8);font-size:12px}.ibm-selected{align-items:center;background:#ebf3ff;background:var(--dp-primary-light,#ebf3ff);border:1.5px solid #0d6efd;border:1.5px solid var(--dp-primary,#0d6efd);border-radius:8px;display:flex;gap:10px;margin-top:10px;padding:10px 12px}.ibm-change-btn{background:none;border:none;color:#0d6efd;color:var(--dp-primary,#0d6efd);cursor:pointer;flex-shrink:0;font-size:12px;font-weight:600}.ibm-match-choice{margin-top:10px}.ibm-match-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}.ibm-match-actions .dp-btn{width:100%}.ibm-relative-banner{align-items:center;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e;display:flex;font-size:12px;gap:10px;justify-content:space-between;margin-top:10px;padding:10px 12px}.ibm-no-match{background:#fff8e6;border-radius:8px;margin-top:12px;padding:14px;text-align:center}.ibm-no-match p{color:#92400e;font-size:13px;margin:0 0 10px}.ibm-add-new-btn{background:#0d6efd;background:var(--dp-primary,#0d6efd);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px}.ibm-add-new-btn:disabled{cursor:not-allowed;opacity:.5}.ibm-new-patient-form{border-top:1px dashed #e2e8f0;border-top:1px dashed var(--dp-border,#e2e8f0);display:flex;flex-direction:column;gap:12px;margin-top:14px;padding-top:14px}.ibm-field-row{display:flex;gap:12px}.ibm-field{flex:1 1;min-width:0}.ibm-error{background:#fee2e2;border-radius:8px;color:#b91c1c;font-size:12px;margin-top:12px;padding:10px 12px}.ibm-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--dp-border,#e2e8f0);display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.epi-overlay{align-items:center;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:300}.epi-modal{background:#fff;background:var(--dp-card,#fff);border-radius:14px;box-shadow:0 20px 60px #0f172a40;display:flex;flex-direction:column;max-height:90vh;max-width:440px;width:100%}.epi-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--dp-border,#e2e8f0);display:flex;justify-content:space-between;padding:18px 20px 14px}.epi-title{color:#1a2740;color:var(--dp-text-primary,#1a2740);font-size:16px;font-weight:700}.epi-close{background:none;border:none;color:#94a3b8;color:var(--dp-text-muted,#94a3b8);cursor:pointer;font-size:14px;padding:4px}.epi-body{display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding:20px}.epi-field-row{display:flex;gap:12px}.epi-field{flex:1 1;min-width:0}.epi-label{color:#475569;color:var(--dp-text-secondary,#475569);display:block;font-size:12px;font-weight:600;margin-bottom:6px}.epi-input{background:#fff;background:var(--dp-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--dp-border,#e2e8f0);border-radius:8px;box-sizing:border-box;color:#1a2740;color:var(--dp-text-primary,#1a2740);font-family:inherit;font-size:14px;outline:none;padding:10px 12px;width:100%}.epi-input:focus{border-color:#0d6efd;border-color:var(--dp-primary,#0d6efd)}.epi-error{background:#fee2e2;border-radius:8px;color:#b91c1c;font-size:12px;padding:10px 12px}.epi-confirm-lead{color:#475569;color:var(--dp-text-secondary,#475569);font-size:13px;margin:0}.epi-diff{border:1px solid #e2e8f0;border:1px solid var(--dp-border,#e2e8f0);border-radius:8px;overflow:hidden}.epi-diff-row{grid-gap:8px;align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--dp-border,#e2e8f0);display:grid;font-size:13px;gap:8px;grid-template-columns:70px 1fr 16px 1fr;padding:9px 12px}.epi-diff-row:last-child{border-bottom:none}.epi-diff-label{color:#475569;color:var(--dp-text-secondary,#475569);font-size:12px;font-weight:600}.epi-diff-old{overflow-wrap:anywhere;text-decoration:line-through}.epi-diff-arrow,.epi-diff-old{color:#94a3b8;color:var(--dp-text-muted,#94a3b8)}.epi-diff-arrow{text-align:center}.epi-diff-new{color:#0f766e;font-weight:600;overflow-wrap:anywhere}.epi-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--dp-border,#e2e8f0);display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.dp-dashboard__grid,.dp-dashboard__header,.dp-kpi-row,.dp-schedule,.dp-timeline,.dp-timeline__card,.dp-timeline__item{box-sizing:border-box;max-width:100%}.dp-dashboard__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.dp-dashboard__header-actions{align-items:center;display:flex;gap:10px}.dp-btn--instant{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#fff}.dp-btn--instant:hover{background:linear-gradient(135deg,#d97706,#b45309)}.dp-badge--instant{background:#fef3c7;color:#92400e}.dp-quick-search{margin-bottom:24px;position:relative}.dp-quick-search__box{align-items:center;background:var(--dp-card);border:1px solid var(--dp-border);border-radius:var(--dp-radius-sm);display:flex;gap:8px;padding:10px 14px;transition:border .15s}.dp-quick-search__box:focus-within{border-color:var(--dp-primary)}.dp-quick-search__icon{flex-shrink:0;font-size:14px;opacity:.7}.dp-quick-search__input{background:#0000;border:none;color:var(--dp-text-primary);flex:1 1;font-family:inherit;font-size:14px;outline:none}.dp-quick-search__clear{background:none;border:none;color:var(--dp-text-muted);cursor:pointer;flex-shrink:0;font-size:13px;padding:2px 4px}.dp-quick-search__results{background:var(--dp-card);border:1px solid var(--dp-border);border-radius:var(--dp-radius-sm);box-shadow:0 8px 24px #0f172a1a;left:0;max-height:360px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 6px);z-index:40}.dp-quick-search__empty{color:var(--dp-text-muted);font-size:13px;padding:16px;text-align:center}.dp-quick-search__item{align-items:center;border-bottom:1px solid var(--dp-border);cursor:pointer;display:flex;gap:10px;padding:10px 14px;transition:background .12s}.dp-quick-search__item:last-child{border-bottom:none}.dp-quick-search__item:hover{background:var(--dp-primary-light)}.dp-quick-search__info{display:flex;flex:1 1;flex-direction:column;min-width:0}.dp-quick-search__name{color:var(--dp-text-primary);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-quick-search__meta{color:var(--dp-text-muted);font-size:12px}.dp-kpi-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.dp-kpi-card{align-items:center;display:flex;gap:14px;padding:20px}.dp-kpi-card__icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:22px;height:48px;justify-content:center;width:48px}.dp-kpi-card__icon--blue{background:var(--dp-primary-light)}.dp-kpi-card__icon--green{background:var(--dp-success-bg)}.dp-kpi-card__icon--orange{background:#fef3c7}.dp-kpi-card__icon--teal{background:var(--dp-teal-light)}.dp-kpi-card__body{display:flex;flex-direction:column;min-width:0}.dp-kpi-card__value{color:var(--dp-text-primary);font-size:28px;font-weight:700;line-height:1}.dp-kpi-card__value--sm{font-size:16px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-kpi-card__label{color:var(--dp-text-secondary);font-size:13px;font-weight:500;margin-top:4px}.dp-kpi-card__sub{color:var(--dp-text-muted);font-size:11px;margin-top:2px}.dp-dashboard__grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 340px}.dp-schedule{padding:24px}.dp-schedule__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.dp-schedule__header .dp-card-title{margin-bottom:0}.dp-schedule__header-actions{align-items:center;display:flex;gap:8px}.dp-btn--warning-active{background:#fff7ed;border:1.5px solid #fb923c;color:#c2410c;font-weight:600}.dp-schedule__status-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.dp-schedule__status-chip{background:#fff;background:var(--dp-card,#fff);border:1px solid var(--dp-border);border-radius:999px;color:#475569;color:var(--dp-text-secondary,#475569);cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.dp-schedule__status-chip:hover{background:#ebf3ff;background:var(--dp-primary-light,#ebf3ff);color:#000}.dp-schedule__status-chip--active{background:#0d6efd;background:var(--dp-primary,#0d6efd);border-color:#0d6efd;border-color:var(--dp-primary,#0d6efd);color:#fff}.dp-schedule__status-chip--active:hover{color:#000}.dp-schedule__search{align-items:center;background:#f8fafc;background:var(--dp-bg,#f8fafc);border:1px solid var(--dp-border);border-radius:var(--dp-radius-sm);display:flex;gap:8px;margin-bottom:16px;padding:8px 12px}.dp-schedule__search-icon{flex-shrink:0;font-size:13px;opacity:.7}.dp-schedule__search-input{background:#0000;border:none;color:var(--dp-text-primary);flex:1 1;font-family:inherit;font-size:13px;outline:none}.dp-btn--warning-active:hover{background:#ffedd5}.dp-timeline{display:flex;flex-direction:column;gap:0}.dp-timeline__item{grid-gap:0 12px;align-items:start;display:grid;gap:0 12px;grid-template-columns:68px 16px 1fr;padding-bottom:20px;position:relative}.dp-timeline__item:not(:last-child):after{background:var(--dp-border);bottom:0;content:"";left:74px;position:absolute;top:18px;width:2px}.dp-timeline__time{color:var(--dp-text-secondary);font-size:12px;font-weight:600;padding-top:2px;text-align:right;white-space:nowrap}.dp-timeline__dot{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px var(--dp-border);flex-shrink:0;height:14px;margin-top:3px;width:14px}.dp-timeline__dot--confirmed{background:var(--dp-success);box-shadow:0 0 0 2px var(--dp-success-bg)}.dp-timeline__dot--scheduled{background:var(--dp-warning);box-shadow:0 0 0 2px var(--dp-warning-bg)}.dp-timeline__dot--in-progress{background:var(--dp-primary);box-shadow:0 0 0 2px var(--dp-primary-light)}.dp-timeline__dot--completed{background:#94a3b8;box-shadow:0 0 0 2px #f1f5f9}.dp-timeline__dot--cancelled{background:var(--dp-danger);box-shadow:0 0 0 2px var(--dp-danger-bg)}.dp-timeline__dot--no-show{background:#d97706;box-shadow:0 0 0 2px #fef3c7}.dp-timeline__card{background:var(--dp-surface);border:1px solid var(--dp-border);border-radius:10px;min-width:0;overflow:hidden;padding:12px 14px}.dp-timeline__top{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:4px}.dp-timeline__name{color:var(--dp-text-primary);font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-timeline__meta{color:var(--dp-text-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:4px;margin-bottom:10px;overflow:hidden;word-break:break-word}.dp-timeline__actions{display:flex;gap:8px}.dp-dashboard__right{display:flex;flex-direction:column;gap:20px}.dp-week-card{padding:20px}.dp-week-chart{align-items:flex-end;display:flex;gap:6px;height:80px;margin-top:12px}.dp-week-bar{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px;height:100%;justify-content:flex-end}.dp-week-bar__fill{background:var(--dp-primary);border-radius:4px 4px 0 0;min-height:4px;opacity:.85;transition:height .4s ease;width:100%}.dp-week-bar__label{color:var(--dp-text-muted);font-size:10px;font-weight:500}.dp-upcoming-card{padding:20px}.dp-upcoming__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.dp-upcoming__list{display:flex;flex-direction:column;gap:2px}.dp-upcoming__item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 8px;transition:background .15s}.dp-upcoming__item:hover{background:var(--dp-surface)}.dp-upcoming__avatar{background:var(--dp-primary-light);color:var(--dp-primary);font-weight:700}.dp-upcoming__info{display:flex;flex:1 1;flex-direction:column;min-width:0}.dp-upcoming__name{color:var(--dp-text-primary);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-upcoming__time{color:var(--dp-text-muted);font-size:11px}.dp-empty__icon{font-size:32px;margin-bottom:8px}@media (max-width:1100px){.dp-kpi-row{grid-template-columns:repeat(2,1fr)}.dp-dashboard__grid{grid-template-columns:1fr}.dp-dashboard__right{display:grid;grid-template-columns:repeat(2,1fr)}}@media (max-width:860px){.dp-schedule{padding:16px}.dp-schedule__header{flex-wrap:wrap;gap:10px}.dp-schedule__header-actions{justify-content:flex-end;width:100%}.dp-timeline__item{grid-template-columns:58px 14px 1fr}.dp-timeline__top{flex-wrap:wrap;gap:4px}.dp-timeline__top-right{align-items:center;flex-direction:row;flex-wrap:wrap;gap:4px}.dp-timeline__meta{font-size:11px}.dp-kpi-card{gap:10px;padding:14px}.dp-kpi-card__value{font-size:22px}}@media (max-width:740px){.dp-kpi-row{grid-template-columns:1fr 1fr}.dp-dashboard__right{grid-template-columns:1fr}.dp-timeline__item{gap:0 8px;grid-template-columns:52px 12px 1fr}.dp-timeline__card{padding:10px 12px}.dp-schedule__header-actions{flex-wrap:wrap}.dp-btn--secondary,.dp-btn--warning-active{font-size:12px;padding:5px 10px}}@media (max-width:480px){.dp-dashboard__header{align-items:flex-start;flex-direction:column;gap:10px}.dp-dashboard__header .dp-btn{justify-content:center;width:100%}.dp-kpi-row{gap:10px;grid-template-columns:1fr 1fr}.dp-kpi-card{align-items:flex-start;flex-direction:column;gap:8px;padding:12px}.dp-kpi-card__icon{font-size:16px;height:36px;width:36px}.dp-kpi-card__value{font-size:20px}.dp-kpi-card__label{font-size:11px}.dp-schedule{padding:12px}.dp-schedule__header{align-items:flex-start;flex-direction:column;gap:8px}.dp-schedule__header-actions{justify-content:flex-start;width:100%}.dp-timeline__item{gap:0 6px;grid-template-columns:46px 10px 1fr}.dp-timeline__time{font-size:10px}.dp-timeline__card{padding:8px 10px}.dp-timeline__name{font-size:13px}.dp-timeline__top-right{flex-direction:row;flex-wrap:wrap;gap:4px}.dp-timeline__actions .dp-btn{justify-content:center;width:100%}}.dp-timeline__top-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.dp-timeline__doctor-sub{color:#2563eb;font-size:11px;font-weight:500;white-space:nowrap}.dp-timeline__card--needs-rx{border-left:3px solid var(--dp-warning)}.dp-timeline__rx-tag{border-radius:10px;font-size:11px;font-weight:600;padding:1px 6px}.dp-timeline__rx-tag--finalized{background:var(--dp-success-bg);color:var(--dp-success)}.dp-timeline__rx-tag--draft{background:var(--dp-primary-light);color:var(--dp-primary)}.dp-kpi-card__value--warn{color:var(--dp-warning)}.dp-week-bar--today .dp-week-bar__fill{background:var(--dp-primary);opacity:1}.dp-week-bar__count{color:var(--dp-text-secondary);font-size:10px;font-weight:700;min-height:14px}.dp-week-total{color:var(--dp-text-muted);font-size:11px;margin-top:8px;text-align:center}.dp-pending-rx-card{padding:20px}.dp-card-title--warn{color:var(--dp-warning)}.dp-upcoming__avatar--warn{background:#fef3c7;color:#92400e}.dp-rx-pill{border-radius:10px;flex-shrink:0;font-size:10px;font-weight:700;padding:2px 8px;white-space:nowrap}.dp-rx-pill--draft{background:var(--dp-primary-light);color:var(--dp-primary)}.dp-rx-pill--missing{background:#fef3c7;color:#92400e}.dp-appts__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.dp-filter-bar{display:flex;flex-direction:column;gap:16px;margin-bottom:20px;padding:20px}.dp-filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px}.dp-filter-row--bottom{flex-wrap:wrap;gap:16px}.dp-filter-group{display:flex;flex-direction:column;gap:6px}.dp-filter-group--row{align-items:center;flex-direction:row;gap:8px}.dp-filter-group--search{flex:1 1;min-width:220px}.dp-filter-label{color:var(--dp-text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.dp-filter-clear{align-self:flex-end}.dp-preset-btns{display:flex;flex-wrap:wrap;gap:4px}.dp-preset-btn{background:var(--dp-card);border:1px solid var(--dp-border);border-radius:20px;color:var(--dp-text-secondary);cursor:pointer;font-size:12px;font-weight:500;padding:6px 13px;transition:all .15s;white-space:nowrap}.dp-preset-btn:hover{border-color:var(--dp-primary);color:var(--dp-primary)}.dp-preset-btn--active{background:var(--dp-primary);border-color:var(--dp-primary);color:#fff}.dp-status-chips{display:flex;flex-wrap:wrap;gap:4px}.dp-status-chip{background:var(--dp-card);border:1px solid var(--dp-border);border-radius:20px;cursor:pointer;font-size:12px;font-weight:500;padding:5px 11px;transition:all .15s;white-space:nowrap}.dp-status-chip--all.dp-status-chip--active{background:var(--dp-text-primary);border-color:var(--dp-text-primary);color:#fff}.dp-status-chip--confirmed.dp-status-chip--active{background:var(--dp-success-bg);border-color:var(--dp-success);color:var(--dp-success)}.dp-status-chip--scheduled.dp-status-chip--active{background:var(--dp-warning-bg);border-color:var(--dp-warning);color:var(--dp-warning)}.dp-status-chip--in-progress.dp-status-chip--active{background:var(--dp-info-bg);border-color:var(--dp-info);color:var(--dp-info)}.dp-status-chip--completed.dp-status-chip--active{background:#f1f5f9;border-color:#94a3b8;color:#475569}.dp-status-chip--cancelled.dp-status-chip--active{background:var(--dp-danger-bg);border-color:var(--dp-danger);color:var(--dp-danger)}.dp-status-chip--no-show.dp-status-chip--active{background:#fef3c7;border-color:#d97706;color:#d97706}.dp-input{background:var(--dp-card);border:1px solid var(--dp-border);border-radius:var(--dp-radius-sm);color:var(--dp-text-primary);font-size:13px;outline:none;padding:8px 12px;transition:border .15s}.dp-input:focus{border-color:var(--dp-primary)}.dp-input--search{flex:1 1;min-width:200px}.dp-select{background:var(--dp-card);border:1px solid var(--dp-border);border-radius:var(--dp-radius-sm);color:var(--dp-text-primary);cursor:pointer;font-size:13px;min-width:160px;outline:none;padding:8px 12px}.dp-select:focus{border-color:var(--dp-primary)}.dp-search-form{display:flex;gap:8px}.dp-appts-table-wrap{overflow:hidden}.dp-table{border-collapse:collapse;font-size:13px;width:100%}.dp-table thead th{background:var(--dp-surface);border-bottom:1px solid var(--dp-border);color:var(--dp-text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.dp-table thead th:first-child{border-radius:var(--dp-radius) 0 0 0}.dp-table thead th:last-child{border-radius:0 var(--dp-radius) 0 0}.dp-table__row{cursor:pointer;transition:background .12s}.dp-table__row:hover{background:var(--dp-surface)}.dp-table td{border-bottom:1px solid var(--dp-border);padding:13px 16px;vertical-align:middle}.dp-table__row:last-child td{border-bottom:none}.dp-table__time{display:flex;flex-direction:column;gap:2px;min-width:90px}.dp-table__date{color:var(--dp-text-muted);font-size:12px}.dp-table__hour{color:var(--dp-text-primary);font-size:13px;font-weight:600}.dp-table__patient{align-items:center;display:flex;gap:10px}.dp-table__avatar{background:var(--dp-primary-light);color:var(--dp-primary);font-weight:700}.dp-table__patient-name{color:var(--dp-text-primary);font-size:13px;font-weight:600;white-space:nowrap}.dp-table__patient-meta{color:var(--dp-text-muted);font-size:11px}.dp-table__phone{color:var(--dp-text-secondary);font-size:12px;white-space:nowrap}.dp-table__rx .dp-rx-tick{color:var(--dp-success);font-size:12px;font-weight:600}.dp-table__rx .dp-rx-draft{color:var(--dp-primary);font-size:12px;font-weight:500}.dp-table__rx .dp-rx-pending{color:var(--dp-text-muted);font-size:12px;font-weight:400}.dp-table__actions{display:flex;gap:6px}.dp-pagination{align-items:center;border-top:1px solid var(--dp-border);display:flex;gap:14px;justify-content:center;padding:16px}.dp-pagination__info{color:var(--dp-text-secondary);font-size:13px}.mac__wrap{min-width:0;position:relative;width:100%}.mac__dropdown{background:#fff;border:1px solid #d0d8e8;border-radius:8px;box-shadow:0 6px 20px #0000001f;max-height:260px;overflow-y:auto;z-index:9999}.mac__item{align-items:center;border-bottom:1px solid #f0f3f8;color:#1a2740;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:9px 12px;transition:background .12s}.mac__item:last-child{border-bottom:none}.mac__item--hi,.mac__item:hover{background:#f0f5ff}.mac__name{flex:1 1;font-weight:500}.mac__badge{background:#e8f0fe;border-radius:10px;color:#1b3c6e;font-size:11px;font-weight:500;padding:2px 7px;white-space:nowrap}.mac__code{color:#8a9bb5;font-family:monospace;font-size:11px}.mac__item--add{background:#f8faff;border-top:1px solid #e5ebf5;color:#1b3c6e;font-weight:500}.mac__item--add.mac__item--hi,.mac__item--add:hover{background:#e8f0fe}.mac__add-icon{align-items:center;background:#1b3c6e;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:14px;font-weight:700;height:18px;justify-content:center;width:18px}.mac__item--empty,.mac__item--loading{color:#8a9bb5;cursor:default;font-style:italic}.mac__item--error{color:#c0392b;cursor:default}.rxb{background:#fff;border:1px solid var(--dp-border);border-radius:14px}.rxb__header{background:linear-gradient(135deg,#1b3c6e,#1e4d8c);gap:12px;justify-content:space-between;padding:18px 24px}.rxb__header,.rxb__header-left{align-items:center;display:flex}.rxb__header-left{gap:14px}.rxb__rx-badge{align-items:center;background:#ffffff26;border:1.5px solid #ffffff4d;border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-family:Times New Roman,serif;font-size:24px;font-style:italic;font-weight:700;height:44px;justify-content:center;width:44px}.rxb__title{color:#fff;font-size:17px;font-weight:700;margin:0 0 3px}.rxb__subtitle{color:#ffffffa6;font-size:12px;margin:0}.rxb__cancel-btn{background:#ffffff1f;border:1px solid #ffffff40;border-radius:8px;color:#ffffffd9;cursor:pointer;font-size:12px;font-weight:600;padding:7px 14px;transition:all .15s}.rxb__cancel-btn:hover{background:#ffffff38;color:#fff}.rxb__patient-bar{align-items:center;background:#f8faff;border-bottom:1px solid #e2eaf8;display:flex;flex-wrap:wrap;gap:10px;padding:10px 24px}.rxb__copy-banner{background:#fff8e6;border-bottom:1px solid #fde68a;color:#92400e;font-size:12px;font-weight:600;padding:10px 24px}.rxb__patient-avatar{align-items:center;background:linear-gradient(135deg,#1b3c6e,#0d9488);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:32px;justify-content:center;min-width:32px;width:32px}.rxb__patient-name{color:#1b3c6e;display:inline;font-size:13px;font-weight:700;margin:0;white-space:nowrap}.rxb__edit-patient-btn{align-items:center;background:#f1f5f9;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:10px;height:20px;justify-content:center;transition:all .15s;width:20px}.rxb__edit-patient-btn:hover{background:#ebf3ff;color:#0d6efd}.rxb__patient-meta{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.rxb__meta-chip{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:600;padding:2px 9px}.rxb__meta-chip--blue{background:#eff6ff;color:#1d4ed8}.rxb__meta-chip--purple{background:#f5f3ff;color:#7c3aed}.rxb__meta-chip--gray{background:#f1f5f9;color:#475569}.rxb__meta-chip--teal{background:#f0fdfa;color:#0f766e}.rxb__body{padding:0 24px}.rxb__section{border-bottom:1px solid #eef2f7;padding:20px 0}.rxb__section--last{border-bottom:none}.rxb__section-header{align-items:center;display:flex;gap:10px;margin-bottom:14px}.rxb__section-header--toggle{border-radius:8px;cursor:pointer;margin:-4px -6px 14px;padding:4px 6px;transition:background .12s;-webkit-user-select:none;user-select:none}.rxb__section-header--toggle:hover{background:#f8faff}.rxb__followup-check-row{padding:10px 0}.rxb__checkbox-label{align-items:center;color:#334155;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px}.rxb__checkbox-label input[type=checkbox]{accent-color:#0d6efd;cursor:pointer;height:16px;width:16px}.rxb__visit-tag-row{margin-bottom:12px}.rxb__visit-tag{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;gap:5px;letter-spacing:.02em;padding:4px 10px;text-transform:uppercase}.rxb__visit-tag--new{background:#ecfdf5;color:#047857}.rxb__visit-tag--follow-up{background:#eff6ff;color:#1d4ed8}.rxb__section--collapsed .rxb__section-header--toggle{margin-bottom:0}.rxb__toggle-icon{align-items:center;background:#eff6ff;border-radius:50%;color:#2563eb;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:22px;justify-content:center;line-height:1;transition:transform .18s,background .12s;width:22px}.rxb__toggle-icon--open{background:#dbeafe;transform:rotate(45deg)}.rxb__section-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:15px;height:30px;justify-content:center;width:30px}.rxb__section-icon--blue{background:#eff6ff}.rxb__section-icon--orange{background:#fff7ed}.rxb__section-icon--red{background:#fff1f2}.rxb__section-icon--teal{background:#f0fdfa}.rxb__section-icon--indigo{background:#eef2ff}.rxb__section-icon--green{background:#f0fdf4}.rxb__section-icon--purple{background:#faf5ff}.rxb__rx-icon{color:#0f766e;font-family:Times New Roman,serif;font-size:18px;font-style:italic;font-weight:700;line-height:1}.rxb__section-title{color:#1e293b;flex:1 1;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.rxb__section-badge{background:#f1f5f9;border-radius:10px;color:#94a3b8;font-size:10px;font-weight:600;letter-spacing:.4px;padding:2px 8px;text-transform:uppercase}.rxb__field-group{display:flex;flex-direction:column;gap:5px}.rxb__label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.rxb__label-hint{color:#94a3b8;font-weight:500;letter-spacing:0;text-transform:none}.rxb__label--danger{color:#b91c1c}.rxb__required{color:#ef4444}.rxb__input{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-family:inherit;font-size:13px;height:36px;outline:none;padding:0 11px;transition:border .15s,box-shadow .15s;width:100%}.rxb__input:focus{border-color:#1b3c6e;box-shadow:0 0 0 3px #1b3c6e14}.rxb__input--lg{font-size:14px;font-weight:600;height:40px}.rxb__input--danger:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444414}.rxb__input--instr{background:#fafafa;border-style:dashed;font-size:12px;height:32px}.rxb__input--dosage{font-family:SF Mono,Consolas,monospace;font-size:12px;font-weight:600;letter-spacing:.5px}.rxb__dosage-wrap{position:relative;width:100%}.rxb__dosage-dropdown{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0000001f;max-height:240px;min-width:220px;overflow-y:auto;z-index:9999}.rxb__dosage-option{align-items:center;cursor:pointer;display:flex;gap:10px;padding:8px 12px;transition:background .1s}.rxb__dosage-option--hi,.rxb__dosage-option:hover{background:#eff6ff}.rxb__dosage-option--custom{border-top:1px solid #e2e8f0;color:#0d6efd;font-style:italic}.rxb__dosage-option--empty{color:#94a3b8;cursor:default;font-size:12px;font-style:italic}.rxb__dosage-section-label{color:#94a3b8;font-size:10px;font-weight:600;letter-spacing:.05em;padding:4px 12px 2px;text-transform:uppercase}.rxb__dosage-option--history .rxb__dosage-val{color:#0d6efd}.rxb__dosage-option--history .rxb__dosage-lbl{color:#64748b;font-style:italic}.rxb__dosage-val{color:#1b3c6e;font-family:SF Mono,Consolas,monospace;font-size:12px;font-weight:700;min-width:68px}.rxb__dosage-lbl{color:#64748b;font-size:11px}.rxb__select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1.5px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;cursor:pointer;font-family:inherit;font-size:12px;height:36px;outline:none;padding:0 28px 0 11px;transition:border .15s;width:100%}.rxb__select:focus{border-color:#1b3c6e;box-shadow:0 0 0 3px #1b3c6e14}.rxb__textarea{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-family:inherit;font-size:13px;line-height:1.6;outline:none;padding:9px 11px;resize:vertical;transition:border .15s,box-shadow .15s;width:100%}.rxb__textarea:focus{border-color:#1b3c6e;box-shadow:0 0 0 3px #1b3c6e14}.rxb__appt-id{color:#94a3b8;flex-shrink:0;font-family:SF Mono,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:.3px;margin-left:auto;white-space:nowrap}.rxb__two-col{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.rxb__vitals-row{display:flex;gap:16px}.rxb__dx-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.rxb__dx-row{gap:8px}.rxb__dx-num,.rxb__dx-row{align-items:center;display:flex}.rxb__dx-num{background:#eff6ff;border-radius:50%;color:#2563eb;flex-shrink:0;font-size:11px;font-weight:700;height:22px;justify-content:center;width:22px}.rxb__dx-name-input{flex:1 1;min-width:0}.rxb__dx-dur{flex-shrink:0;width:160px}.rxb__add-dx-btn{align-items:center;background:none;border:1.5px dashed #93c5fd;border-radius:7px;color:#2563eb;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:5px 12px;transition:background .12s,border-color .12s}.rxb__add-dx-btn:hover{background:#eff6ff;border-color:#2563eb}.rxb__vitals-row .rxb__field-group{flex:1 1}.rxb__tag-input{display:flex;gap:8px;margin-bottom:8px}.rxb__tag-input .rxb__input{flex:1 1}.rxb__add-btn{background:#1b3c6e;border:1.5px solid #1b3c6e;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;height:36px;padding:0 16px;transition:all .15s;white-space:nowrap}.rxb__add-btn:hover{background:#163264}.rxb__add-btn--danger{background:#ef4444;border-color:#ef4444}.rxb__add-btn--danger:hover{background:#dc2626}.rxb__tags{display:flex;flex-wrap:wrap;gap:6px;min-height:12px}.rxb__tag{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:500;gap:5px;padding:4px 10px}.rxb__tag--blue{background:#eff6ff;color:#1d4ed8}.rxb__tag--red{background:#fff1f2;color:#b91c1c}.rxb__tag--teal{background:#f0fdfa;color:#0f766e}.rxb__tag-remove{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-size:13px;line-height:1;opacity:.6;padding:0}.rxb__tag-remove:hover{opacity:1}.rxb__med-table{border:1.5px solid #e2eaf8;border-radius:10px;display:flex;flex-direction:column;gap:0;overflow:hidden}.rxb__med-thead{grid-gap:0;align-items:center;background:#f0f4ff;border-bottom:1.5px solid #e2eaf8;display:grid;gap:0;grid-template-columns:36px 2fr 200px 1fr 1fr 44px;padding:0 8px}.rxb__med-th{color:#64748b;font-size:10px;font-weight:700;letter-spacing:.4px;padding:9px 5px;text-transform:uppercase}.rxb__med-th--action,.rxb__med-th--num{text-align:center}.rxb__med-row{grid-gap:0;align-items:center;background:#fff;border-bottom:1px solid #eef2f7;display:grid;gap:0;grid-template-columns:52px 2fr 200px 1fr 1fr 44px;grid-template-rows:auto auto;padding:0 8px;transition:background .12s,opacity .12s}.rxb__med-row:last-child{border-bottom:none}.rxb__med-row:hover{background:#fafbff}.rxb__med-row--dragging{opacity:.4}.rxb__med-row--drag-over{background:#eff6ff;box-shadow:inset 0 2px 0 #1d4ed8}.rxb__drag-handle{color:#a6b2c5;cursor:grab;font-size:14px;line-height:1;-webkit-user-select:none;user-select:none}.rxb__drag-handle:active{cursor:grabbing}.rxb__med-cell{align-items:center;display:flex;min-width:0;padding:8px 5px}.rxb__med-cell--num{gap:4px}.rxb__med-cell--action,.rxb__med-cell--num{justify-content:center;padding:8px 0}.rxb__med-num{background:#eff6ff;border-radius:50%;color:#1d4ed8;font-size:11px;font-weight:700;height:22px;width:22px}.rxb__med-num,.rxb__remove-btn{align-items:center;display:flex;justify-content:center}.rxb__remove-btn{background:#fff1f2;border:none;border-radius:6px;color:#b91c1c;cursor:pointer;font-size:12px;height:26px;transition:background .12s;width:26px}.rxb__remove-btn:hover{background:#fee2e2}.rxb__remove-all-btn{align-items:center;background:#fff1f2;border:none;border-radius:8px;color:#b91c1c;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:600;gap:6px;height:34px;padding:0 14px;transition:background .12s}.rxb__remove-all-btn:hover{background:#fee2e2}.rxb__med-instr-row{align-items:center;border-top:1px dashed #eef2f7;display:flex;gap:8px;grid-column:1/-1;padding:6px 5px 10px}.rxb__instr-label{color:#94a3b8;font-size:11px;font-weight:600;white-space:nowrap}.alg__dropdown{background:#fff;border:1px solid #fca5a5;border-radius:8px;box-shadow:0 6px 20px #b91c1c1a;max-height:240px;overflow-y:auto;z-index:9999}.alg__item{align-items:center;border-bottom:1px solid #fef2f2;color:#1a2740;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:9px 12px;transition:background .12s}.alg__item:last-child{border-bottom:none}.alg__item--hi,.alg__item:hover{background:#fff1f2}.alg__name{flex:1 1;font-weight:500}.alg__badge{background:#fee2e2;border-radius:10px;font-size:11px;padding:2px 7px;white-space:nowrap}.alg__badge,.alg__item--add{color:#b91c1c;font-weight:500}.alg__item--add{background:#fff8f8;border-top:1px solid #fee2e2}.alg__item--add.alg__item--hi,.alg__item--add:hover{background:#fee2e2}.alg__add-icon{align-items:center;background:#b91c1c;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:14px;font-weight:700;height:18px;justify-content:center;width:18px}.alg__item--empty,.alg__item--loading{color:#8a9bb5;cursor:default;font-style:italic}.rxb__followup-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.rxb__followup-chip{background:#f8faff;border:1.5px solid #e2eaf8;border-radius:20px;color:#1b3c6e;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;height:28px;padding:0 10px;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.rxb__followup-chip:hover{background:#eef3ff;border-color:#1b3c6e}.rxb__followup-chip--active{background:#1b3c6e;border-color:#1b3c6e;color:#fff}.rxb__followup-chip--clear{background:#fff1f2;border-color:#fecdd3;color:#b91c1c}.rxb__followup-chip--clear:hover{background:#fee2e2;border-color:#b91c1c}.rxb__add-med-btn{background:#0000;border:1.5px dashed #1b3c6e;border-radius:8px;color:#1b3c6e;cursor:pointer;font-size:12px;font-weight:600;height:30px;margin-left:auto;padding:0 14px;transition:all .15s}.rxb__add-med-btn:hover{background:#eff6ff}.rxb__footer{align-items:center;background:#f8faff;border-top:1.5px solid #e2eaf8;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px 24px}.rxb__footer-hint{flex:1 1;min-width:0}.rxb__footer-warn{color:#b45309;font-size:12px;font-weight:500}.rxb__footer-actions{align-items:center;display:flex;gap:10px}.rxb__btn{border:none;border-radius:9px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;height:38px;padding:0 20px;transition:all .15s;white-space:nowrap}.rxb__btn:disabled{cursor:not-allowed;opacity:.5}.rxb__btn--ghost{background:#0000;border:1.5px solid #e2e8f0;color:#64748b}.rxb__btn--ghost:hover:not(:disabled){background:#f1f5f9}.rxb__btn--outline{background:#fff;border:1.5px solid #1b3c6e;color:#1b3c6e}.rxb__btn--outline:hover:not(:disabled){background:#eff6ff}.rxb__btn--primary{background:#1b3c6e;border:1.5px solid #1b3c6e;color:#fff}.rxb__btn--primary:hover:not(:disabled){background:#163264}.rxb__med-actions,.rxb__med-add-row{align-items:center;display:flex;gap:10px;margin-top:10px}.rxb__tpl-btn{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:600;gap:6px;height:34px;padding:0 14px;transition:all .15s}.rxb__tpl-btn--load{background:#f0fdfa;border:1.5px solid #0f766e;color:#0f766e}.rxb__tpl-btn--load:hover{background:#ccfbf1}.rxb__tpl-btn--save{background:#0000;border:1.5px dashed #64748b;color:#475569}.rxb__tpl-btn--save:hover{background:#f1f5f9;border-color:#475569}.rxb__tpl-count{background:#0f766e;border-radius:10px;color:#fff;font-size:10px;font-weight:700;line-height:1.4;padding:1px 6px}.rxb__tpl-load-wrap{margin-left:auto;position:relative}.rxb__tpl-panel{background:#fff;border:1.5px solid #e2eaf8;border-radius:10px;box-shadow:0 8px 24px #0000001f;overflow:hidden;position:absolute;right:0;text-align:left;top:calc(100% + 6px);width:340px;z-index:50}.rxb__tpl-panel__header{align-items:center;background:#f8faff;border-bottom:1px solid #e2eaf8;color:#64748b;display:flex;font-size:11px;font-weight:700;justify-content:space-between;letter-spacing:.4px;padding:10px 14px;text-transform:uppercase}.rxb__tpl-panel__empty{color:#94a3b8;font-size:13px;padding:20px 14px;text-align:center}.rxb__tpl-item{border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column}.rxb__tpl-item:last-child{border-bottom:none}.rxb__tpl-item--expanded{background:#f8fffe}.rxb__tpl-item__row{align-items:center;cursor:pointer;display:flex;gap:8px;justify-content:flex-start;padding:10px 14px;transition:background .12s}.rxb__tpl-item__row:hover{background:#f0fdf4}.rxb__tpl-item__info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.rxb__tpl-item__name{color:#1e293b;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rxb__tpl-item__meta{color:#94a3b8;font-size:11px}.rxb__tpl-item__creator{color:#6366f1;font-weight:500}.rxb__tpl-item__del{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:14px;padding:4px;transition:all .12s}.rxb__tpl-item__del:hover{background:#fff1f2;color:#b91c1c}.rxb__tpl-modal-overlay{align-items:center;background:#0f172a73;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.rxb__tpl-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003;max-width:calc(100vw - 32px);overflow:hidden;width:380px}.rxb__tpl-modal__header{align-items:center;border-bottom:1px solid #e2eaf8;color:#1e293b;display:flex;font-size:15px;font-weight:700;justify-content:space-between;padding:16px 20px}.rxb__tpl-modal__close{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:16px;padding:2px 6px;transition:all .12s}.rxb__tpl-modal__close:hover{background:#f1f5f9;color:#475569}.rxb__tpl-modal__body{display:flex;flex-direction:column;gap:8px;padding:20px}.rxb__tpl-modal__hint{color:#94a3b8;font-size:12px;margin:0}.rxb__tpl-modal__footer{align-items:center;background:#f8faff;border-top:1px solid #e2eaf8;display:flex;gap:10px;justify-content:flex-end;padding:14px 20px}@media (max-width:900px){.rxb__med-thead{display:none}.rxb__med-row{grid-template-columns:36px 1fr 36px;grid-template-rows:auto}.rxb__med-cell--name{grid-column:2/3}.rxb__med-cell:not(.rxb__med-cell--num):not(.rxb__med-cell--name):not(.rxb__med-cell--action),.rxb__med-instr-row{grid-column:1/-1}.rxb__two-col{grid-template-columns:1fr}}@media (max-width:640px){.rxb__header{padding:14px 16px}.rxb__patient-bar{padding:10px 16px}.rxb__body{padding:0 16px}.rxb__footer{padding:12px 16px}.rxb__vitals-row{flex-direction:column}}.rxb__tpl-panel__count{background:#f1f5f9;border-radius:10px;color:#94a3b8;font-size:10px;font-weight:600;letter-spacing:.3px;padding:1px 7px}.rxb__tpl-search-wrap{border-bottom:1px solid #f1f5f9;padding:8px 10px}.rxb__tpl-search{background:#fff;border:1.5px solid #e2e8f0;border-radius:7px;box-sizing:border-box;color:#1e293b;font-family:inherit;font-size:12px;height:32px;outline:none;padding:0 10px;transition:border .15s;width:100%}.rxb__tpl-search:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e14}.rxb__tpl-list{max-height:340px;overflow-y:auto}.rxb__tpl-item__actions{align-items:center;display:flex;flex-shrink:0;gap:4px;margin-left:auto}.rxb__tpl-item__rename-btn{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:13px;padding:4px;transition:all .12s}.rxb__tpl-item__rename-btn:hover{background:#eff6ff;color:#1d4ed8}.rxb__tpl-item__rename-wrap{align-items:center;display:flex;flex:1 1;gap:4px;min-width:0}.rxb__tpl-item__rename-input{background:#fff;border:1.5px solid #1b3c6e;border-radius:7px;box-sizing:border-box;color:#1e293b;flex:1 1;font-family:inherit;font-size:13px;font-weight:600;height:30px;min-width:0;outline:none;padding:0 9px}.rxb__tpl-rename-cancel,.rxb__tpl-rename-ok{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:26px;justify-content:center;transition:all .12s;width:26px}.rxb__tpl-rename-ok{background:#f0fdf4;color:#16a34a}.rxb__tpl-rename-ok:hover:not(:disabled){background:#dcfce7}.rxb__tpl-rename-ok:disabled{cursor:not-allowed;opacity:.5}.rxb__tpl-rename-cancel{background:#fff1f2;color:#b91c1c}.rxb__tpl-rename-cancel:hover{background:#fee2e2}.rxb__tpl-expanded{display:flex;flex-direction:column;gap:10px;padding:0 14px 12px}.rxb__tpl-preview{background:#f8faff;border:1px solid #e2eaf8;border-radius:7px;display:flex;flex-direction:column;gap:4px;padding:8px 10px}.rxb__tpl-med-row{align-items:center;display:flex;gap:7px;min-height:22px}.rxb__tpl-med-num{align-items:center;background:#eff6ff;border-radius:50%;color:#1d4ed8;display:flex;flex-shrink:0;font-size:10px;font-weight:700;height:18px;justify-content:center;width:18px}.rxb__tpl-med-name{color:#1e293b;flex:1 1;font-size:12px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rxb__tpl-med-pills{display:flex;flex-shrink:0;flex-wrap:wrap;gap:3px}.rxb__tpl-med-pills span{background:#f1f5f9;border-radius:4px;color:#64748b;font-size:10px;padding:1px 5px;white-space:nowrap}.rxb__tpl-extras{background:#fffbeb;border:1px solid #fde68a;border-radius:7px;display:flex;flex-direction:column;gap:5px;padding:8px 10px}.rxb__tpl-extras-label{color:#92400e;font-size:10px;font-weight:700;letter-spacing:.4px;margin-bottom:2px;text-transform:uppercase}.rxb__tpl-extra-check{align-items:center;color:#1e293b;cursor:pointer;display:flex;font-size:12px;gap:7px;-webkit-user-select:none;user-select:none}.rxb__tpl-extra-check input[type=checkbox]{accent-color:#0f766e;cursor:pointer;flex-shrink:0;height:14px;width:14px}.rxb__tpl-extra-check em{color:#0f766e;font-style:normal;font-weight:600}.rxb__tpl-load-actions{display:flex;gap:6px}.rxb__tpl-action-btn{align-items:center;border-radius:7px;cursor:pointer;display:inline-flex;flex:1 1;font-family:inherit;font-size:12px;font-weight:600;height:30px;justify-content:center;transition:all .15s}.rxb__tpl-action-btn--append{background:#f0fdfa;border:1.5px solid #0f766e;color:#0f766e}.rxb__tpl-action-btn--append:hover{background:#ccfbf1}.rxb__tpl-action-btn--replace{background:#eff6ff;border:1.5px solid #1b3c6e;color:#1b3c6e}.rxb__tpl-action-btn--replace:hover{background:#dbeafe}.rxb__tpl-modal__extras{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;display:flex;flex-direction:column;gap:6px;margin-top:4px;padding:10px 12px}.rxb__tpl-modal__extras-label{color:#92400e;font-size:10px;font-weight:700;letter-spacing:.4px;margin-bottom:2px;text-transform:uppercase}.rxb__tpl-check{align-items:center;color:#1e293b;cursor:pointer;display:flex;font-size:12px;gap:8px;-webkit-user-select:none;user-select:none}.rxb__tpl-check input[type=checkbox]{accent-color:#1b3c6e;cursor:pointer;flex-shrink:0;height:14px;width:14px}.rxb__tpl-check em{color:#0f766e;font-style:normal;font-weight:600}.rxb__dur-back-btn{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;flex-shrink:0;font-size:14px;height:36px;padding:0 10px;transition:background .15s,color .15s}.rxb__dur-back-btn:hover{background:#eef2ff;color:#1b3c6e}.rxb__tpl-preview--care{border-top:1px dashed #d1fae5;margin-top:6px;padding-top:6px}.rxb__tpl-preview-label{color:#065f46;font-size:10.5px;font-weight:700;letter-spacing:.5px;margin-bottom:4px;padding:0 2px;text-transform:uppercase}.rxb__edit-tpl-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:300}.rxb__edit-tpl-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0f172a40;display:flex;flex-direction:column;max-height:90vh;max-width:860px;overflow:hidden;width:100%}.rxb__edit-tpl-modal__header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:18px 24px}.rxb__edit-tpl-modal__header-left{align-items:center;display:flex;gap:12px}.rxb__edit-tpl-modal__icon{font-size:22px}.rxb__edit-tpl-modal__title{color:#1b3c6e;font-size:16px;font-weight:700}.rxb__edit-tpl-modal__subtitle{color:#64748b;font-size:12px;margin-top:2px}.rxb__edit-tpl-modal__body{flex:1 1;overflow-y:auto;padding:20px 24px}.rxb__edit-tpl-modal__section-label{align-items:center;color:#1b3c6e;display:flex;font-size:13px;font-weight:700;gap:6px;margin-bottom:10px;margin-top:4px}.rxb__edit-tpl-add-section-btn{background:none;border:1px dashed #93c5fd;border-radius:6px;color:#0d6efd;cursor:pointer;font-size:12px;margin-left:auto;padding:2px 10px}.rxb__edit-tpl-add-section-btn:hover{background:#eff6ff}.rxb__edit-tpl-new-name-row{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;display:flex;gap:8px;margin-top:16px;padding:14px 16px}.rxb__edit-tpl-new-name-row .rxb__input{flex:1 1}.rxb__btn--sm{font-size:12px;padding:6px 14px}.rxb__edit-tpl-modal__footer{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:14px 24px}.rxb__tpl-item__edit-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;opacity:.75;padding:4px 6px;transition:opacity .15s,background .15s}.rxb__tpl-item__edit-btn:hover{background:#dbeafe;opacity:1}.rxb__val-overlay{align-items:center;animation:rxb__fadeIn .15s ease;background:#0f172a80;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:200}@keyframes rxb__fadeIn{0%{opacity:0}to{opacity:1}}.rxb__val-modal{animation:rxb__slideUp .18s cubic-bezier(.34,1.36,.64,1);background:#fff;border-radius:16px;box-shadow:0 24px 80px #00000038,0 4px 16px #00000014;display:flex;flex-direction:column;max-height:calc(100vh - 64px);max-width:calc(100vw - 32px);overflow:hidden;width:480px}@keyframes rxb__slideUp{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.rxb__val-modal__header{align-items:flex-start;display:flex;gap:12px;padding:20px 20px 18px;position:relative}.rxb__val-modal__header--error{background:linear-gradient(135deg,#fef2f2,#fff5f5);border-bottom:1.5px solid #fecaca}.rxb__val-modal__header--warn{background:linear-gradient(135deg,#fffbeb,#fffdf5);border-bottom:1.5px solid #fde68a}.rxb__val-modal__header-icon{flex-shrink:0;font-size:26px;line-height:1;margin-top:1px}.rxb__val-modal__title{color:#0f172a;font-size:16px;font-weight:700;line-height:1.3}.rxb__val-modal__subtitle{color:#64748b;font-size:12.5px;margin-top:3px}.rxb__val-modal__close{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:15px;line-height:1;padding:4px 6px;position:absolute;right:16px;top:14px;transition:all .12s}.rxb__val-modal__close:hover{background:#0000000f;color:#475569}.rxb__val-modal__body{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:16px 20px}.rxb__val-group{display:flex;flex-direction:column;gap:8px}.rxb__val-group__label{align-items:center;color:#94a3b8;display:flex;font-size:10.5px;font-weight:700;gap:7px;letter-spacing:.6px;margin-bottom:2px;text-transform:uppercase}.rxb__val-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.rxb__val-dot--error{background:#ef4444}.rxb__val-dot--warn{background:#f59e0b}.rxb__val-item{grid-column-gap:8px;grid-row-gap:1px;border-radius:10px;column-gap:8px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;padding:11px 14px;row-gap:1px}.rxb__val-item--error{background:#fff1f1;border:1px solid #fecaca}.rxb__val-item--warn{background:#fffbeb;border:1px solid #fde68a}.rxb__val-item__section{align-self:start;border-radius:5px;font-size:10px;font-weight:700;grid-column:1;grid-row:1;letter-spacing:.5px;padding:2px 7px;text-transform:uppercase;white-space:nowrap}.rxb__val-item--error .rxb__val-item__section{background:#fee2e2;color:#b91c1c}.rxb__val-item--warn .rxb__val-item__section{background:#fef3c7;color:#92400e}.rxb__val-item__field{align-self:center;color:#1e293b;font-size:13px;font-weight:600;grid-column:2;grid-row:1}.rxb__val-item__msg{color:#475569;font-size:12px;grid-column:1/-1;grid-row:2;margin-top:4px;padding-left:2px}.rxb__val-modal__footer{align-items:center;background:#f8faff;border-top:1.5px solid #e2eaf8;display:flex;gap:10px;justify-content:flex-end;padding:14px 20px}.skinaa-rx{background:#fff;border:1px solid #ccc;border-radius:6px;color:#111;font-family:Times New Roman,Times,serif;font-size:12px;max-width:100%;min-height:1123px;overflow:hidden;text-align:left;width:794px}.skinaa-rx__table{border-collapse:collapse;table-layout:fixed;width:100%}.skinaa-rx__ft-cell,.skinaa-rx__hd-cell,.skinaa-rx__pb-cell{padding:0}.skinaa-rx__body-row{height:901px}.skinaa-rx__sidebar-cell{border-right:2px solid #1b3c6e;width:212px}.skinaa-rx__main-cell,.skinaa-rx__sidebar-cell{height:1px;padding:0;vertical-align:top}.skinaa-rx__topbar{background:#fff;padding:14px 20px 10px;position:relative}.skinaa-rx__logo-wrap,.skinaa-rx__topbar{align-items:center;display:flex;justify-content:center}.skinaa-rx__logo-img{height:64px;object-fit:contain;width:auto}.skinaa-rx__rx-id{align-items:flex-end;display:flex;flex-direction:column;font-family:Arial,sans-serif;position:absolute;right:20px;text-align:right;top:50%;transform:translateY(-50%)}.skinaa-rx__token-badge{background:#1b3c6e;border-radius:5px;color:#fff;display:inline-block;font-family:monospace;font-size:11px;font-weight:700;letter-spacing:.4px;padding:2px 8px}.skinaa-rx__token-badge--topleft{left:16px;position:absolute;top:50%;transform:translateY(-50%)}.skinaa-rx__followup-flag{background:#fef3c7;border-radius:5px;color:#92400e;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.2px;margin-left:10px;padding:2px 8px}.skinaa-rx__followup-flag--block{margin-bottom:8px;margin-left:0}.skinaa-rx__rx-id-label{color:#999;font-size:9px;letter-spacing:.5px;text-transform:uppercase}.skinaa-rx__rx-id-val{color:#444;font-family:monospace;font-size:11px;font-weight:700}.skinaa-rx__rule{background:linear-gradient(90deg,#1b3c6e,#2557a7);flex-shrink:0;height:4px}.skinaa-rx__patient-bar{background:#fff;border-bottom:1px solid #ddd;font-family:Arial,sans-serif;padding:10px 16px 8px;text-align:left}.skinaa-rx__field-row{align-items:baseline;display:flex;flex-wrap:nowrap;gap:6px;margin:8px 0;text-align:left}.skinaa-rx__field-row--location{flex-wrap:wrap;margin-top:0}.skinaa-rx__field-row--location .skinaa-rx__field-val{white-space:normal}.skinaa-rx__field-label{color:#1b3c6e;font-size:12px;font-weight:600;text-align:left;white-space:nowrap}.skinaa-rx__field-val{color:#111;font-size:13px;text-align:left}.skinaa-rx__field-val--underline{border-bottom:1px solid #999;padding-bottom:1px}.skinaa-rx__field-val--short{min-width:50px}.skinaa-rx__field-val--dx{color:#8b1a1a;flex:1 1;font-weight:600;min-width:180px;text-align:left}.skinaa-rx__field-val--name{flex:1 1;min-width:0}.skinaa-rx__field-val--phone{flex-shrink:0;min-width:100px}.skinaa-rx__gender-box{background:#f0f4ff;border:1px solid #999;border-radius:3px;color:#1b3c6e;font-size:11px;font-weight:700;padding:1px 8px}.skinaa-rx__date-box{border:1px solid #aaa;color:#333;font-family:monospace;font-size:11px;min-width:26px;padding:2px 6px;text-align:center}.skinaa-rx__date-sep{width:4px}.skinaa-rx__date-group{align-items:baseline;display:flex;gap:2px;margin-left:auto}.skinaa-rx__sidebar{background:#fff;box-sizing:border-box;font-family:Arial,sans-serif;height:100%;padding:0 0 12px;text-align:left}.skinaa-rx__section-header{background:#1b3c6e;color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.3px;padding:5px 10px;text-align:center}.skinaa-rx__doctor{border-bottom:1px solid #e8e8e8;padding:8px 10px 4px;text-align:left}.skinaa-rx__doctor-name{align-items:center;color:#c97b20;display:flex;font-size:13px;font-weight:700;gap:6px;margin-bottom:2px;text-align:left}.skinaa-rx__doctor-name--active{color:#1b3c6e}.skinaa-rx__doctor-badge{background:#1b3c6e;border-radius:10px;color:#fff;font-size:8px;font-weight:700;letter-spacing:.3px;padding:1px 5px;text-transform:uppercase}.skinaa-rx__doctor-qual{color:#444;font-size:9.5px;line-height:1.4;text-align:left}.skinaa-rx__timing{color:#c97b20;font-size:11px;font-weight:600;line-height:1.6;padding:8px 10px 4px;text-align:left}.skinaa-rx__timing--sunday{color:#c97b20;font-size:11px;padding-top:2px;text-align:left}.skinaa-rx__inv-list{padding:6px 10px;text-align:left}.skinaa-rx__inv-item{color:#222;font-size:11px;line-height:1.8;text-align:left}.skinaa-rx__inv-empty{color:#bbb;font-size:11px;padding:4px 0;text-align:left}.skinaa-rx__main{box-sizing:border-box;display:flex;flex-direction:column;font-family:Arial,sans-serif;height:100%;padding:12px 16px;text-align:left}.skinaa-rx__vitals{background:#f0f4ff;border:1px solid #c8d6f0;border-radius:4px;display:flex;flex-wrap:wrap;font-size:11px;gap:16px;justify-content:flex-start;margin-bottom:8px;padding:5px 8px;text-align:left}.skinaa-rx__vital-key{color:#1b3c6e;font-size:10px;font-weight:700;margin-right:2px;text-transform:uppercase}.skinaa-rx__block{border-bottom:1px dashed #ddd;margin-bottom:8px;padding-bottom:6px;text-align:left}.skinaa-rx__block--advice{background:#fffbf0;border:1px solid #f0e0b0;border-radius:4px;padding:6px 8px;text-align:left}.skinaa-rx__routine-care{border-bottom:1px dashed #ddd;margin-bottom:8px;padding-bottom:4px}.skinaa-rx__routine-care-header{background:#d1fae5;border-radius:3px;color:#065f46;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.6px;margin-bottom:4px;padding:3px 6px;text-transform:uppercase}.skinaa-rx__block--diagnosis{background:#f0f4ff;border:1px solid #c7d7f5;border-radius:4px;padding:6px 8px}.skinaa-rx__diagnosis-secondary{color:#475569;font-style:italic}.skinaa-rx__diagnosis-duration{color:#0f766e;font-size:.9em;font-style:italic}.skinaa-rx__block--diagnosis-notes{background:#f8faff;border:1px dashed #c7d7f5;border-radius:4px;padding:6px 8px}.skinaa-rx__text-key{color:#1b3c6e;font-size:11px;font-weight:700;text-align:left}.skinaa-rx__text{color:#222;font-size:11.5px;line-height:1.5;margin:0 0 3px;text-align:left}.skinaa-rx__text--allergy{color:#8b1a1a;font-weight:500}.skinaa-rx__rx-header{margin:6px 0 4px;text-align:left}.skinaa-rx__rx-symbol{color:#1b3c6e;font-family:Times New Roman,serif;font-size:26px;font-style:italic;font-weight:700;line-height:1}.skinaa-rx__med-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;text-align:left}.skinaa-rx__med{align-items:baseline;border-bottom:1px solid #e8e8e8;display:flex;flex-wrap:wrap;gap:5px;padding:5px 0;text-align:left}.skinaa-rx__med:last-child{border-bottom:none}.skinaa-rx__med-num{color:#1b3c6e;flex-shrink:0;font-size:12px;font-weight:700}.skinaa-rx__med-name{color:#111;font-size:13px;font-weight:700}.skinaa-rx__med-dose{color:#555;font-size:11px;font-weight:400}.skinaa-rx__med-form{background:#f0f0f0;border-radius:3px;color:#888;font-size:10px;font-weight:400;padding:0 5px}.skinaa-rx__med-sig{color:#c97b20;font-size:11px;font-weight:600}.skinaa-rx__med-instr{color:#666;font-size:10.5px;font-style:italic}.skinaa-rx__rx-lines{display:flex;flex:1 1;flex-direction:column;gap:18px;margin:8px 0 12px}.skinaa-rx__rx-line{background:#d0d0d0;height:1px}.skinaa-rx__bottom{align-items:flex-end;border-top:1px solid #ddd;display:flex;justify-content:space-between;margin-top:auto;padding-top:12px}.skinaa-rx__followup{display:flex;flex-direction:column;gap:4px;text-align:left}.skinaa-rx__followup-label{color:#888;font-size:10px;font-weight:700;letter-spacing:.4px;text-align:left;text-transform:uppercase}.skinaa-rx__followup-box{border:1px solid #aaa;border-radius:3px;color:#1b3c6e;font-size:12px;font-weight:600;min-width:100px;padding:4px 14px;text-align:left}.skinaa-rx__followup-note{color:#888;font-size:10px;font-style:italic;text-align:left}.skinaa-rx__sig-block{align-items:center;display:flex;flex-direction:column;gap:4px}.skinaa-rx__sig-area{border-bottom:1px solid #888;height:44px;width:140px}.skinaa-rx__sig-label{color:#888;font-size:9.5px;text-align:center}.skinaa-rx__sig-name{color:#1b3c6e;font-size:11px;font-weight:700;text-align:center}.skinaa-rx__footer{background:#1b3c6e;border-top:3px solid #c97b20;flex-shrink:0;font-family:Arial,sans-serif;padding:8px 16px;text-align:center}.skinaa-rx__footer-text{color:#fff;font-size:10.5px;line-height:1.7;text-align:center}.skinaa-rx__footer-valid{color:#ccc;font-size:9.5px;font-style:italic;margin-top:3px;text-align:center}.skinaa-rx-wrapper{overflow-x:auto;width:100%}@media (max-width:750px){.skinaa-rx-wrapper{overflow-x:hidden}.skinaa-rx{zoom:.62;max-width:none}}@media (max-width:480px){.skinaa-rx{zoom:.5}}@media print{@page{size:A4 portrait;margin:12mm 10mm}.skinaa-rx{zoom:1!important}.ad-card__header,.ad-left,.ad-past-visits,.ad-rx-print-bottom,.dp-header,.dp-mobile-overlay,.dp-sidebar{display:none!important}.dp-main,.dp-shell{width:100%!important}.dp-content,.dp-main,.dp-shell{display:block!important;height:auto!important;overflow:visible!important}.dp-content{flex:none!important;padding:0!important}.ad-page{background:none!important;min-height:0!important}.ad-layout,.ad-page{display:block!important}.ad-layout{padding:0!important}.ad-right{display:block!important;min-width:0!important}.ad-rx-card{border:none!important;border-radius:0!important;box-shadow:none!important}.ad-rx-body,.ad-rx-card{display:block!important;overflow:visible!important}.ad-rx-body{padding:0!important}#dp-rx-print{border:none!important;border-radius:0!important;box-shadow:none!important;display:block!important;min-height:0!important;overflow:visible!important;position:static!important}#dp-rx-print,#dp-rx-print .skinaa-rx__table{width:190mm!important}#dp-rx-print .skinaa-rx{min-height:0!important}#dp-rx-print .skinaa-rx__body-row{height:160mm!important}#dp-rx-print .skinaa-rx{font-size:10.5px!important}#dp-rx-print .skinaa-rx__main{height:auto!important;overflow:visible!important}#dp-rx-print .skinaa-rx__bottom{margin-top:32px!important}#dp-rx-print .skinaa-rx__bottom,#dp-rx-print .skinaa-rx__med{break-inside:avoid!important;page-break-inside:avoid!important}#dp-rx-print .skinaa-rx__block--advice,#dp-rx-print .skinaa-rx__block--diagnosis,#dp-rx-print .skinaa-rx__doctor-badge,#dp-rx-print .skinaa-rx__footer,#dp-rx-print .skinaa-rx__gender-box,#dp-rx-print .skinaa-rx__rule,#dp-rx-print .skinaa-rx__section-header,#dp-rx-print .skinaa-rx__topbar,#dp-rx-print .skinaa-rx__vitals{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.ad-page{background:var(--dp-surface);min-height:100vh}.ad-loading,.ad-page{display:flex;flex-direction:column}.ad-loading{align-items:center;color:var(--dp-text-secondary);font-size:14px;gap:12px;justify-content:center;min-height:60vh}.ad-loading__spinner{animation:ad-spin .7s linear infinite;border:3px solid var(--dp-border);border-radius:50%;border-top-color:var(--dp-primary);height:36px;width:36px}@keyframes ad-spin{to{transform:rotate(1turn)}}.ad-not-found{align-items:center;color:var(--dp-text-secondary);display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:60vh;text-align:center}.ad-not-found__icon{font-size:48px}.ad-not-found h3{color:var(--dp-text-primary);font-size:20px;font-weight:700;margin:0 0 4px}.ad-status-pill{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;gap:5px;letter-spacing:.2px;padding:4px 12px}.ad-layout{grid-gap:20px;align-items:start;display:grid;flex:1 1;gap:20px;grid-template-columns:1fr 320px}.ad-left{display:flex;flex-direction:column;gap:16px;order:2}.ad-patient-card{background:#fff;border:1px solid var(--dp-border);border-radius:12px}.ad-patient-card__banner{background:linear-gradient(135deg,#1b3c6e,#0d9488);border-radius:12px 12px 0 0;height:72px}.ad-patient-card__body{align-items:center;display:flex;flex-direction:column;padding:0 20px 20px;text-align:center}.ad-patient-card__avatar-wrap{margin-bottom:12px;margin-top:-32px}.ad-patient-avatar{align-items:center;background:linear-gradient(135deg,#1b3c6e,#0d9488);border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0000002e;color:#fff;display:flex;font-size:22px;font-weight:700;height:64px;justify-content:center;width:64px}.ad-patient-card__name-block{align-items:center;display:flex;flex-direction:column;gap:8px;width:100%}.ad-patient-name{color:var(--dp-text-primary);font-size:16px;font-weight:700;line-height:1.3;margin:0;word-break:break-word}.ad-patient-name-row{align-items:center;display:flex;gap:6px;justify-content:center}.ad-edit-patient-btn{align-items:center;background:var(--dp-surface);border:none;border-radius:6px;color:var(--dp-text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:11px;height:22px;justify-content:center;transition:all .15s;width:22px}.ad-edit-patient-btn:hover{background:#eff6ff;color:var(--dp-primary)}.ad-contact-chip--static{cursor:default}.ad-contact-chip--static:hover{background:var(--dp-surface);border-color:var(--dp-border);color:var(--dp-text-primary)}.ad-patient-tags{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.ad-contact-row{display:flex;flex-direction:column;gap:7px;margin-top:14px;width:100%}.ad-contact-chip{align-items:center;background:var(--dp-surface);border:1px solid var(--dp-border);border-radius:8px;color:var(--dp-text-primary);display:flex;font-size:12.5px;font-weight:500;gap:8px;overflow:hidden;padding:8px 12px;text-decoration:none;text-overflow:ellipsis;transition:all .15s;white-space:nowrap}.ad-contact-chip:hover{background:#eff6ff;border-color:var(--dp-primary);color:var(--dp-primary)}.ad-appt-id-row{align-items:center;border-top:1px solid var(--dp-border);display:flex;gap:8px;justify-content:center;margin-top:12px;padding-top:12px;width:100%}.ad-appt-id-row__id{color:var(--dp-text-muted);font-family:SF Mono,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:.3px}.ad-card{background:#fff;border:1px solid var(--dp-border);border-radius:12px;overflow:hidden}.ad-card__header{align-items:center;border-bottom:1px solid var(--dp-border);display:flex;gap:8px;justify-content:space-between;padding:14px 16px}.ad-card__title{color:var(--dp-text-primary);font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.ad-card__body{padding:14px 16px}.ad-chip{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:600;padding:2px 9px}.ad-chip--blue{background:#eff6ff;color:#1d4ed8}.ad-chip--purple{background:#f5f3ff;color:#7c3aed}.ad-chip--gray{background:var(--dp-surface);color:var(--dp-text-muted)}.ad-chip--teal{background:#f0fdfa;color:#0f766e}.ad-chip--orange{background:#fff7ed;color:#c2410c}.ad-appt-datetime{align-items:stretch;background:linear-gradient(135deg,#f0f4ff,#f0fdfa);border-bottom:1px solid #e2eaf8;display:flex;margin:0}.ad-appt-datetime__date,.ad-appt-datetime__time{align-items:center;display:flex;flex:1 1;gap:10px;padding:14px 16px}.ad-appt-datetime__divider{background:#d1dcf0;flex-shrink:0;margin:10px 0;width:1px}.ad-appt-datetime__icon{flex-shrink:0;font-size:20px;line-height:1}.ad-appt-datetime__sub{color:#64748b;display:block;font-size:10px;font-weight:700;letter-spacing:.5px;margin-bottom:3px;text-transform:uppercase}.ad-appt-datetime__val{color:#1b3c6e;display:block;font-size:12px;font-weight:600;line-height:1.3}.ad-appt-datetime__val--time{color:#0f766e;font-size:16px;font-weight:700}.ad-appt-meta-grid{align-items:stretch;border-bottom:1px solid #f1f5f9;display:flex}.ad-appt-meta-item{display:flex;flex:1 1;flex-direction:column;gap:5px;padding:12px 14px}.ad-appt-meta-item:not(:last-child){border-right:1px solid #f1f5f9}.ad-appt-meta-item--full{border-right:none;border-top:1px solid #f1f5f9;flex:initial;width:100%}.ad-appt-meta-item__label{color:#94a3b8;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.ad-token-badge{align-items:center;align-self:flex-start;background:#1b3c6e;border-radius:6px;color:#fff;display:inline-flex;font-family:SF Mono,Consolas,monospace;font-size:13px;font-weight:700;justify-content:center;letter-spacing:.5px;padding:3px 12px}.ad-info-row{align-items:flex-start;border-bottom:1px solid #f8fafc;display:flex;gap:10px;padding:9px 0}.ad-info-row:last-child{border-bottom:none}.ad-info-row__icon{flex-shrink:0;font-size:15px;margin-top:1px;text-align:center;width:20px}.ad-info-row__body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.ad-info-row__label{color:var(--dp-text-muted);font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.ad-info-row__value{color:var(--dp-text-primary);font-size:13px;font-weight:500;word-break:break-word}.ad-remark{color:var(--dp-text-secondary);font-style:italic}.ad-status-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.ad-status-btn{align-items:center;background:var(--dp-surface);border:1.5px solid var(--dp-border);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:4px;padding:10px 8px;transition:all .15s}.ad-status-btn:hover:not(:disabled){background:#f0f4ff;border-color:var(--dp-primary)}.ad-status-btn--active{box-shadow:0 1px 4px #0000001a;font-weight:700}.ad-status-btn:disabled{cursor:default}.ad-status-btn__icon{font-size:16px;line-height:1}.ad-status-btn__label{font-size:11px;font-weight:600}.ad-updating{color:var(--dp-text-muted);font-size:12px;font-style:italic}.ad-note{border-bottom:1px solid var(--dp-border);display:flex;flex-direction:column;gap:5px;padding:10px 0}.ad-note:last-child{border-bottom:none}.ad-note__tag{align-items:center;align-self:flex-start;border-radius:10px;display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.4px;padding:2px 8px;text-transform:uppercase}.ad-note__tag--patient{background:#eff6ff;color:#1d4ed8}.ad-note__tag--admin{background:#fff7ed;color:#c2410c}.ad-note__tag--doctor{background:#f0fdf4;color:#166534}.ad-note__text{color:var(--dp-text-secondary);font-size:13px;line-height:1.6;margin:0}.ad-right{display:flex;flex-direction:column;min-width:0;order:1}.ad-rx-card{height:100%}.ad-rx-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ad-rx-meta{color:var(--dp-text-muted);font-family:SF Mono,Consolas,monospace;font-size:11px}.ad-rx-body{overflow-x:auto;padding:16px}.ad-rx-print-bottom{align-items:center;border-top:1px solid var(--dp-border);display:flex;gap:8px;justify-content:flex-end;margin-top:16px;padding-top:16px}.ad-rx-empty-card{align-items:center;background:#fff;border:1px solid var(--dp-border);border-radius:12px;display:flex;justify-content:center;min-height:480px}.ad-rx-empty-card__inner{align-items:center;display:flex;flex-direction:column;gap:0;max-width:380px;padding:40px 24px;text-align:center}.ad-rx-empty-card__art{margin-bottom:20px}.ad-rx-empty-card__circle{align-items:center;background:linear-gradient(135deg,#eff6ff,#f0fdfa);border:2px solid #bfdbfe;border-radius:50%;display:flex;height:88px;justify-content:center;width:88px}.ad-rx-empty-card__symbol{color:#1b3c6e;font-family:Times New Roman,serif;font-size:40px;font-style:italic;font-weight:700;line-height:1}.ad-rx-empty-card__title{color:var(--dp-text-primary);font-size:20px;font-weight:700;margin:0 0 8px}.ad-rx-empty-card__sub{color:var(--dp-text-muted);font-size:13px;line-height:1.6;margin:0 0 22px}.ad-rx-empty-card__cta{font-size:14px;font-weight:600;margin-bottom:24px;padding:10px 28px}.ad-rx-empty-card__checklist{color:var(--dp-text-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:8px 16px;justify-content:center}.ad-rx-empty-card__checklist span{align-items:center;color:#0f766e;display:flex;font-weight:500;gap:4px}.ad-past-visits__count{background:var(--dp-surface);border:1px solid var(--dp-border);border-radius:10px;color:var(--dp-text-muted);font-size:11px;font-weight:600;padding:2px 8px}.ad-past-visits__list{display:flex;flex-direction:column}.ad-past-visit{border-bottom:1px solid var(--dp-border)}.ad-past-visit:last-child{border-bottom:none}.ad-past-visit__row{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:inherit;gap:12px;justify-content:space-between;padding:12px 16px;text-align:left;transition:background .15s;width:100%}.ad-past-visit__row:hover{background:var(--dp-surface)}.ad-past-visit--open .ad-past-visit__row{background:#f0f4ff}.ad-past-visit__left{display:flex;flex-direction:column;gap:6px;min-width:0}.ad-past-visit__date{color:var(--dp-text-primary);font-size:13px;font-weight:600}.ad-past-visit__meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.ad-past-visit__chevron{color:var(--dp-text-muted);flex-shrink:0;font-size:10px}.ad-past-visit__body{background:#fafbff;border-top:1px solid var(--dp-border);overflow-x:auto;padding:16px}.ad-past-visit__copy-row{display:flex;justify-content:flex-end;margin-bottom:12px}.ad-past-visit__no-rx{color:var(--dp-text-muted);font-size:13px;padding:24px 0;text-align:center}@media (max-width:1100px){.ad-layout{grid-template-columns:1fr}.ad-left{order:2}.ad-right{order:1}}@media (max-width:640px){.ad-status-grid{grid-template-columns:repeat(3,1fr)}}.ad-rx-delete-btn{background:#fef2f2!important;border:1.5px solid #fecaca!important;color:#b91c1c!important;font-weight:600}.ad-rx-delete-btn:hover{background:#fee2e2!important;border-color:#fca5a5!important}.ad-del-overlay{align-items:center;animation:ad-fadeIn .15s ease;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:500}@keyframes ad-fadeIn{0%{opacity:0}to{opacity:1}}.ad-del-modal{animation:ad-slideUp .18s cubic-bezier(.34,1.3,.64,1);background:#fff;border-radius:16px;box-shadow:0 24px 80px #00000040,0 4px 16px #0000001a;display:flex;flex-direction:column;max-height:calc(100vh - 64px);max-width:calc(100vw - 32px);overflow-y:auto;width:500px}@keyframes ad-slideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ad-del-modal__header{align-items:flex-start;background:linear-gradient(135deg,#fef2f2,#fff5f5);border-bottom:1.5px solid #fecaca;display:flex;gap:12px;padding:20px 20px 18px;position:relative}.ad-del-modal__header-icon{flex-shrink:0;font-size:28px;line-height:1;margin-top:1px}.ad-del-modal__title{color:#0f172a;font-size:17px;font-weight:700;line-height:1.3}.ad-del-modal__subtitle{color:#b91c1c;font-size:12.5px;font-weight:500;margin-top:3px}.ad-del-modal__close{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:15px;line-height:1;padding:4px 6px;position:absolute;right:16px;top:14px;transition:all .12s}.ad-del-modal__close:hover:not(:disabled){background:#0000000f;color:#475569}.ad-del-modal__body{display:flex;flex-direction:column;gap:16px;padding:20px}.ad-del-modal__warn-banner{align-items:flex-start;background:#fff7ed;border:1.5px solid #fed7aa;border-radius:10px;display:flex;gap:12px;padding:14px 16px}.ad-del-modal__warn-icon{flex-shrink:0;font-size:18px;margin-top:1px}.ad-del-modal__warn-banner p{color:#7c2d12;font-size:13px;line-height:1.6;margin:0}.ad-del-modal__warn-banner strong{color:#9a3412;font-weight:700}.ad-del-modal__details{background:#f8faff;border:1.5px solid #e2eaf8;border-radius:10px;overflow:hidden}.ad-del-modal__detail-row{align-items:center;border-bottom:1px solid #eef2fb;display:flex;gap:12px;justify-content:space-between;padding:10px 14px}.ad-del-modal__detail-row:last-child{border-bottom:none}.ad-del-modal__detail-label{color:#94a3b8;flex-shrink:0;font-size:11.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.ad-del-modal__detail-val{color:#1e293b;font-size:13.5px;font-weight:500;text-align:right}.ad-del-modal__detail-val--name{color:#0f172a;font-size:15px;font-weight:700}.ad-del-modal__detail-val--mono{color:#475569;font-family:SF Mono,Consolas,monospace;font-size:12.5px}.ad-del-modal__divider{background:#e2eaf8;height:1px}.ad-del-modal__status-pill{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;padding:3px 10px}.ad-del-modal__status-pill--finalized{background:#ccfbf1;color:#0f766e}.ad-del-modal__status-pill--draft{background:#f1f5f9;color:#475569}.ad-del-modal__footer{align-items:center;background:#f8faff;border-top:1.5px solid #e2eaf8;display:flex;gap:10px;justify-content:flex-end;padding:14px 20px}.ad-del-modal__confirm-btn{background:#ef4444!important;border:none!important;border-radius:9px;color:#fff!important;cursor:pointer;font-size:13px;font-weight:600;height:38px;padding:0 20px;transition:background .15s}.ad-del-modal__confirm-btn:hover:not(:disabled){background:#dc2626!important}.ad-del-modal__confirm-btn:disabled{cursor:not-allowed;opacity:.6}.mcb-trigger{width:100%}.mcb-panel{background:#f8fafc;background:var(--dp-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--dp-border,#e2e8f0);border-radius:8px;padding:10px}.mcb-label{color:#475569;color:var(--dp-text-secondary,#475569);display:block;font-size:11px;font-weight:600;margin-bottom:6px}.mcb-optional{color:#94a3b8;color:var(--dp-text-muted,#94a3b8);font-weight:400}.mcb-textarea{background:#fff;background:var(--dp-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--dp-border,#e2e8f0);border-radius:8px;box-sizing:border-box;color:#1a2740;color:var(--dp-text-primary,#1a2740);font-family:inherit;font-size:13px;outline:none;padding:8px 10px;resize:vertical;width:100%}.mcb-textarea:focus{border-color:#0d6efd;border-color:var(--dp-primary,#0d6efd)}.mcb-error{background:#fee2e2;border-radius:8px;color:#b91c1c;font-size:12px;margin-top:8px;padding:8px 10px}.mcb-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.mcb-done{background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;padding:10px}.mcb-done__badge{color:#0f766e;display:inline-block;font-size:12px;font-weight:700}.mcb-done__notes{color:#475569;color:var(--dp-text-secondary,#475569);font-size:12.5px;margin:6px 0 0;white-space:pre-wrap}.dp-th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.dp-sort-icon,.dp-th--sortable:hover{color:#1b3c6e;color:var(--dp-primary,#1b3c6e)}.dp-sort-icon{font-style:normal;font-weight:700}.dp-history__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.dp-history__diagnosis{color:var(--dp-text-secondary);font-size:12px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-table__doctor{white-space:nowrap}.dp-table__doctor .dp-doctor-name{color:var(--dp-text-primary);font-size:13px;font-weight:600}.dp-unassigned{color:var(--dp-text-muted);font-size:12px;font-style:italic}.dp-patient__back{margin-bottom:20px}.dp-patient__hero{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:16px;padding:24px}.dp-patient__hero-left{align-items:center;display:flex;gap:16px}.dp-patient__hero-avatar{font-size:22px;height:60px;width:60px}.dp-patient__name{color:var(--dp-text-primary);font-size:20px;font-weight:700;margin:0 0 6px}.dp-patient__meta{display:flex;flex-wrap:wrap;gap:6px}.dp-patient__hero-stats{display:flex;gap:28px}.dp-patient__stat{align-items:center;display:flex;flex-direction:column;gap:2px}.dp-patient__stat-val{color:var(--dp-text-primary);font-size:26px;font-weight:700}.dp-patient__stat-val--green{color:var(--dp-success)}.dp-patient__stat-val--red{color:var(--dp-danger)}.dp-patient__stat-label{color:var(--dp-text-muted);font-size:11px;white-space:nowrap}.dp-tabs{border-bottom:2px solid var(--dp-border);display:flex;gap:0;margin-bottom:20px}.dp-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--dp-text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:-2px;padding:10px 20px;transition:color .15s}.dp-tab--active,.dp-tab:hover{color:var(--dp-primary)}.dp-tab--active{border-bottom-color:var(--dp-primary);font-weight:600}.dp-tab__count{background:var(--dp-primary-light);border-radius:20px;color:var(--dp-primary);font-size:11px;font-weight:700;padding:1px 7px}.dp-patient__overview{padding:24px}.dp-rx-cards{display:flex;flex-direction:column;gap:16px}.dp-rx-card{padding:20px}.dp-rx-card__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.dp-rx-card__date{color:var(--dp-text-primary);font-size:14px;font-weight:600;margin:0 0 2px}.dp-rx-card__by{color:var(--dp-text-muted);font-size:12px;margin:0}.dp-rx-card__diagnosis{color:var(--dp-text-secondary);font-size:13px;margin:0 0 10px}.dp-rx-card__meds{display:flex;flex-wrap:wrap;gap:6px}.dp-rx-card__expand{margin-top:12px}.dp-analytics__header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.dp-analytics__kpi{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(5,1fr);margin-bottom:24px}.dp-analytics__grid{grid-gap:20px;display:grid;gap:20px;margin-bottom:20px}.dp-analytics__grid--2{grid-template-columns:repeat(2,1fr)}.dp-analytics__grid--3{grid-template-columns:repeat(3,1fr)}.dp-chart-card{padding:20px}@media (max-width:1200px){.dp-analytics__kpi{grid-template-columns:repeat(3,1fr)}.dp-analytics__grid--3{grid-template-columns:repeat(2,1fr)}}@media (max-width:860px){.dp-analytics__kpi{grid-template-columns:repeat(2,1fr)}.dp-analytics__grid--2,.dp-analytics__grid--3{grid-template-columns:1fr}}.dp-settings__header{margin-bottom:0}.dp-settings__card{max-width:820px;padding:28px}.dp-settings__desc{color:var(--dp-text-secondary);font-size:13px;margin:-8px 0 20px}.dp-settings__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}.dp-settings__grid--narrow{grid-template-columns:repeat(1,1fr);max-width:400px}.dp-form-group--full{grid-column:1/-1}.dp-settings__footer{align-items:center;border-top:1px solid var(--dp-border);display:flex;gap:14px;justify-content:flex-end;margin-top:28px;padding-top:20px}.dp-settings__saved{color:var(--dp-success);font-size:13px;font-weight:600}.dp-settings__error{color:var(--dp-danger);font-size:13px;margin-top:8px}.dp-login{align-items:center;background:linear-gradient(135deg,#0f4c81,#1a6faf 50%,#2196c4);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.dp-login__card{background:#fff;border-radius:20px;box-shadow:0 24px 64px #0000002e;max-width:420px;padding:48px 44px;position:relative;width:100%;z-index:1}.dp-login__header{margin-bottom:36px;text-align:center}.dp-login__logo{height:56px;margin-bottom:16px;object-fit:contain;width:auto}.dp-login__title{color:#0f4c81;font-size:1.6rem;font-weight:700;letter-spacing:-.3px;margin:0 0 6px}.dp-login__subtitle{color:#6b7280;font-size:.875rem;margin:0}.dp-login__form{display:flex;flex-direction:column;gap:20px}.dp-login__error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;display:flex;font-size:.875rem;gap:8px;line-height:1.4;padding:12px 14px}.dp-login__error-icon{flex-shrink:0;font-size:1rem}.dp-login__field{display:flex;flex-direction:column;gap:6px}.dp-login__label{color:#374151;font-size:.85rem;font-weight:600}.dp-login__input{background:#f9fafb;border:1.5px solid #d1d5db;border-radius:10px;box-sizing:border-box;color:#111827;font-size:.95rem;outline:none;padding:12px 14px;transition:border-color .2s,box-shadow .2s,background .2s;width:100%}.dp-login__input:focus{background:#fff;border-color:#0f4c81;box-shadow:0 0 0 3px #0f4c811f}.dp-login__input:disabled{cursor:not-allowed;opacity:.6}.dp-login__password-wrap{align-items:center;display:flex;position:relative}.dp-login__password-wrap .dp-login__input{padding-right:44px}.dp-login__eye{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1rem;line-height:1;padding:0;position:absolute;right:12px;transition:color .15s}.dp-login__eye:hover{color:#0f4c81}.dp-login__btn{align-items:center;background:linear-gradient(135deg,#0f4c81,#1a6faf);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:center;margin-top:4px;min-height:46px;padding:13px;transition:opacity .2s,transform .1s;width:100%}.dp-login__btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.dp-login__btn:active:not(:disabled){transform:translateY(0)}.dp-login__btn:disabled{cursor:not-allowed;opacity:.65}.dp-login__spinner{animation:dp-spin .7s linear infinite;border:2.5px solid #ffffff59;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes dp-spin{to{transform:rotate(1turn)}}.dp-login__footer{border-top:1px solid #f3f4f6;margin-top:28px;padding-top:20px;text-align:center}.dp-login__footer p{color:#9ca3af;font-size:.8rem;margin:0}.dp-login__bg-circle{background:#fff;border-radius:50%;opacity:.12;pointer-events:none;position:absolute}.dp-login__bg-circle--1{height:380px;right:-100px;top:-120px;width:380px}.dp-login__bg-circle--2{bottom:-80px;height:280px;left:-80px;width:280px}@media (max-width:480px){.dp-login__card{padding:36px 24px}.dp-login__title{font-size:1.4rem}}.da-container{align-items:center;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:20px}.da-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000014;max-width:460px;padding:40px;width:100%}.da-header{margin-bottom:28px;text-align:center}.da-logo{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;display:inline-flex;justify-content:center;margin-bottom:16px;padding:10px 20px}.da-logo-text{color:#fff;font-size:1rem;font-weight:700;letter-spacing:.5px}.da-title{color:#1a202c;font-size:1.75rem;font-weight:700;margin:0 0 8px}.da-subtitle{color:#718096;font-size:.95rem;line-height:1.5;margin:0}.da-steps{gap:0;justify-content:center;margin-bottom:28px}.da-step,.da-steps{align-items:center;display:flex}.da-step{flex-direction:column;gap:4px}.da-step span{color:#a0aec0;font-size:.7rem;font-weight:500;white-space:nowrap}.da-step.active span{color:#667eea}.da-step.done span{color:#38a169}.da-step-dot{align-items:center;background:#e2e8f0;border-radius:50%;color:#a0aec0;display:flex;font-size:.8rem;font-weight:700;height:30px;justify-content:center;width:30px}.da-step.active .da-step-dot{background:#667eea;color:#fff}.da-step.done .da-step-dot{background:#38a169;color:#fff}.da-step-line{background:#e2e8f0;flex:1 1;height:2px;margin:0 8px 18px;max-width:60px}.da-error{background:#fff5f5;border-left:4px solid #fc8181;border-radius:8px;color:#c53030;font-size:.9rem;line-height:1.4;margin-bottom:16px;padding:12px 16px}.da-form{gap:16px}.da-field,.da-form{display:flex;flex-direction:column}.da-field{gap:6px}.da-field label{color:#2d3748;font-size:.9rem;font-weight:600}.da-phone-input{border:2px solid #e2e8f0;border-radius:8px;display:flex;overflow:hidden;transition:border-color .2s}.da-phone-input:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.da-country-code{background:#f7fafc;border-right:2px solid #e2e8f0;color:#4a5568;font-size:.95rem;font-weight:600;padding:12px 14px;white-space:nowrap}.da-phone-input input{background:#0000;border:none;color:#2d3748;flex:1 1;font-size:1rem;outline:none;padding:12px 14px}.da-phone-input input::placeholder{color:#a0aec0}.da-otp-input{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#2d3748;font-size:1.5rem;font-weight:700;letter-spacing:8px;padding:14px 16px;text-align:center;transition:border-color .2s;width:100%}.da-otp-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.da-hint{color:#718096;font-size:.82rem;margin:0}.da-link-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:.82rem;font-weight:600;padding:0;text-decoration:underline}.da-link-btn:hover:not(:disabled){color:#5a67d8}.da-link-btn:disabled{cursor:not-allowed;opacity:.5}.da-btn{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:13px 20px;text-align:center;transition:all .2s}.da-btn:disabled{cursor:not-allowed;opacity:.65;transform:none!important}.da-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.da-btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea59;transform:translateY(-1px)}.da-btn-danger{background:linear-gradient(135deg,#e53e3e,#c53030);color:#fff}.da-btn-danger:hover:not(:disabled){box-shadow:0 6px 20px #e53e3e59;transform:translateY(-1px)}.da-btn-ghost{background:#0000;border:2px solid #e2e8f0;color:#718096}.da-btn-ghost:hover:not(:disabled){background:#f7fafc;color:#2d3748}.da-warning-box{background:#fff5f5;border:1px solid #fed7d7;border-radius:10px;padding:20px;text-align:center}.da-warning-icon{font-size:2.5rem;margin-bottom:10px}.da-warning-box h3{color:#c53030;font-size:1.05rem;font-weight:700;margin:0 0 12px}.da-warning-list{color:#742a2a;font-size:.88rem;line-height:1.6;margin:0;padding-left:18px;text-align:left}.da-warning-list li{margin-bottom:4px}.da-done{padding:10px 0;text-align:center}.da-done-icon{font-size:3.5rem;margin-bottom:14px}.da-done h2{color:#2d3748;font-size:1.35rem;font-weight:700;margin:0 0 12px}.da-done-message{background:#fffbeb;border:1px solid #f6e05e;border-radius:8px;color:#744210;font-size:.95rem;line-height:1.6;margin-bottom:14px;padding:14px 16px}.da-done-sub{color:#718096;font-size:.88rem;line-height:1.5;margin-bottom:14px}.da-done-contact{color:#718096;font-size:.85rem}.da-done-contact a{color:#667eea;font-weight:600;text-decoration:none}.da-done-contact a:hover{text-decoration:underline}@media (max-width:480px){.da-card{padding:28px 20px}.da-title{font-size:1.45rem}.da-step-line{max-width:40px}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.fa754aad.css.map*/