#root{background-color:#f8f9fa;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.App,body{min-height:100vh}.App{background:#0000;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{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 10px #0000001a;padding:20px}.App-header h1{color:#333;font-size:2.5rem;font-weight:700;margin:0 0 10px}.App-header p{color:#666;font-size:1.1rem;margin:0 0 20px}.doctor-selector{align-items:center;background:#fff;border-radius:25px;box-shadow:0 2px 8px #0000001a;display:inline-flex;gap:10px;padding:10px 20px}.doctor-selector label{color:#333;font-weight:600}.doctor-selector select{background:#fff;border:2px solid #e0e0e0;border-radius:20px;cursor:pointer;font-size:1rem;padding:8px 15px;transition:all .2s ease}.doctor-selector select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}main{background:#f8f9fa;min-height:calc(100vh - 140px);padding:0}table{background-color:#fff;border-collapse:collapse;box-shadow:0 2px 15px #0000001a;font-size:1rem;margin:2rem 0;width:100%}thead{background-color:#34495e;color:#ecf0f1}td,th{border-bottom:1px solid #ddd;padding:12px 15px;text-align:left}tbody tr:hover{background-color:#f5f5f5}.status{border-radius:15px;color:#fff;font-size:.8rem;font-weight:700;padding:5px 10px;text-transform:capitalize}.status-ok{background-color:#27ae60}.status-burnout{background-color:#e74c3c}.status-risk{background-color:#f39c12}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.doctor-detail{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px 120px}@media (max-width:768px){.doctor-detail{padding-left:85px;padding-right:85px}}.doctor-header{border-bottom:2px solid #e0e0e0;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.doctor-header,.doctor-info{align-items:flex-start;display:flex;gap:20px}.doctor-info{flex:1 1;margin:0;min-width:0;padding:0}.doctor-photo{flex-shrink:0}.doctor-photo img{object-fit:cover}.doctor-avatar-fallback,.doctor-photo img{border:3px solid #e0e0e0;border-radius:50%;box-shadow:0 2px 8px #0000001a;height:80px;width:80px}.doctor-avatar-fallback{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:1.5rem;font-weight:700;justify-content:center}.doctor-name-section{flex:1 1;margin:0;min-width:0;padding:0}.doctor-name{margin:0 0 8px}.doctor-name,.doctor-name-section h1{color:#333;display:block;font-size:2rem;font-weight:700;line-height:1.2;padding:0;text-align:left;word-break:break-word}.doctor-name-section h1{margin:0}.doctor-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px 15px;margin:0 0 10px;max-width:600px;padding:0}.license-type{background:#f0f8ff;border-radius:20px;color:#06c;flex-shrink:0;font-size:.85rem;font-weight:500;margin-left:0;padding:4px 12px}.available-states,.timezone-info{align-items:center;display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px}.states-label,.timezone-label{color:#666;font-size:12px;margin-right:5px}.state-badge,.timezone-badge{background:#f0f0f0;border-radius:3px;color:#333;font-size:11px;font-weight:500;padding:2px 6px}.timezone-badge{background:#e3f2fd;color:#1976d2;font-family:Courier New,monospace}.visit-types-info{align-items:center;display:flex;flex-shrink:0;gap:10px}.visit-type-indicator{align-items:center;display:flex;gap:5px}.visit-type-label{color:#666;font-size:.85rem;font-weight:500}.visit-type-status{border-radius:12px;font-size:.8rem;font-weight:700;padding:2px 8px}.visit-type-status.all-states{background:#d4edda;color:#155724}.visit-type-status.some-states{background:#fff3cd;color:#856404}.visit-type-status.no-states{background:#f8d7da;color:#721c24;opacity:.8}.pricing-info{flex-wrap:wrap;gap:15px}.price-item,.pricing-info{align-items:center;display:flex}.price-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;gap:4px;padding:4px 8px}.price-label{color:#666;font-size:.8rem;font-weight:500}.price-value{color:#28a745;font-family:Courier New,monospace;font-size:.85rem;font-weight:700}.schedule-preferences{align-items:center;background:#f8f9fa;border-left:3px solid #007bff;border-radius:6px;display:flex;gap:8px;margin:0;padding:8px 12px}.prefs-label{color:#666;font-size:.85rem;font-weight:500}.prefs-text{color:#333;font-size:.9rem;font-style:italic}.doctor-controls{align-items:flex-end;display:flex;flex-direction:column;gap:15px}.week-navigator{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:10px;padding:8px}.week-nav-btn{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s ease}.week-nav-btn:hover{background:#007bff;border-color:#007bff;color:#fff}.current-week{align-items:center;display:flex;flex-direction:column;min-width:140px;padding:0 15px}.week-label{color:#333;font-size:.95rem;font-weight:700}.week-dates{color:#666;font-size:.8rem}.doctor-status{display:flex;gap:10px}.doctor-actions{gap:12px}.doctor-actions,.settings-btn{align-items:center;display:flex}.settings-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:.9rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.settings-btn:hover{background:#e9ecef;border-color:#adb5bd;box-shadow:0 2px 4px #0000001a;color:#343a40;transform:translateY(-1px)}.settings-btn:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.week-info{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:20px;padding:12px 15px}.week-summary{color:#333;font-weight:500}.current-week-badge{background:#28a745;border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;margin-left:8px;padding:2px 8px}.last-updated{color:#666;font-size:.8rem}.schedule-legend{align-items:center;display:flex;font-size:.9rem;gap:20px;margin:5px 0}.legend-item{color:#555;font-size:.85rem;gap:6px}.legend-color{border-left-style:solid;border-left-width:3px;border-radius:3px;height:16px;width:16px}.legend-color.normal-appointment{background-color:#fff3e0;border-left-color:#ff9800}.legend-color.outside-hours-appointment{background-color:#f3e5f5;border:2px dashed #9c27b0;border-left:3px solid #9c27b0}.weekly-schedule{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:20px}.weekly-schedule h3{border-bottom:1px solid #eee;color:#333;margin-top:0;padding-bottom:10px}.schedule-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);max-width:100%;overflow-x:auto}.day-schedule{border:1px solid #eee;border-radius:6px;display:flex;flex-direction:column;min-width:120px;overflow:hidden}.day-header{padding:8px 12px}.day-name{color:#333;display:block;font-weight:700}.day-date{color:#666;font-size:.8rem}.day-slots{padding:8px}.slot-item{align-items:center;border-radius:3px;display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:2px;padding:4px 8px}.slot-item.working{background:#d4edda;border-left:3px solid #28a745}.slot-item.not-working{background:#f8d7da;border-left:3px solid #dc3545}.slot-time{align-items:flex-start;color:#333;display:flex;flex-direction:column;font-weight:700}.utc-time{color:#888;font-size:10px;font-weight:400;margin-top:2px}.slot-duration{color:#666;font-size:.75rem;font-weight:700}.more-slots{color:#666;font-size:.8rem;font-style:italic;padding:4px;text-align:center}.status-badge{border-radius:20px;font-size:.8rem;font-weight:700;padding:6px 12px;text-transform:uppercase}.status-ok{background-color:#d4edda;color:#155724}.status-warning{background-color:#fff3cd;color:#856404}.status-risk{background-color:#f8d7da;color:#721c24}.doctor-metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(5,1fr);margin-bottom:40px}@media (max-width:1400px){.doctor-metrics-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:1200px){.doctor-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.doctor-metrics-grid{grid-template-columns:1fr}}.metric-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:box-shadow .2s ease}.metric-card:hover{box-shadow:0 4px 8px #00000026}.metric-card h3{color:#666;font-size:.9rem;font-weight:600;margin:0 0 10px;text-transform:uppercase}.metric-value{color:#333;font-size:2rem;font-weight:700;margin-bottom:5px}.metric-value.small{font-size:1.2rem}.metric-detail{color:#888;font-size:.8rem}.doctor-debug{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:40px;padding:20px}.doctor-debug h3{color:#666;margin-top:0}.photo-debug{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;margin-bottom:15px;padding:10px}.photo-debug p{font-size:.9rem;margin:5px 0}.doctor-debug pre{background:#fff;border-radius:4px;font-size:.8rem;line-height:1.4;overflow-x:auto;padding:15px}.doctor-detail-error,.doctor-detail-loading{color:#666;padding:40px;text-align:center}.doctor-detail-error{background:#f8d7da;border-radius:8px;color:#721c24;margin:20px}.doctor-detail-error button{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:10px;padding:10px 20px}.doctor-detail-error button:hover{background:#c82333}@media (max-width:768px){.doctor-header{flex-direction:column;gap:15px}.doctor-controls{align-items:flex-start;width:100%}.doctor-name-section h1{font-size:1.5rem}.schedule-grid{gap:4px;grid-template-columns:repeat(7,minmax(100px,1fr))}.day-header{padding:6px 4px}.day-header .day-name{font-size:.8rem}.day-header .day-date{font-size:.7rem}.time-slot{font-size:10px;padding:3px 4px}.slots-count{font-size:9px;padding:1px 4px}}.day-slots{display:flex;flex:1 1;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto;padding:6px}.time-slot{align-items:center;border-left:2px solid #0000;border-radius:3px;display:flex;font-size:11px;font-weight:500;justify-content:space-between;padding:4px 6px;transition:all .2s ease}.time-slot.available{background-color:#e8f5e8;border-left-color:#4caf50;color:#2e7d32;cursor:pointer}.time-slot.available:hover{background-color:#c8e6c9;box-shadow:0 2px 4px #0000001a;transform:translateX(2px)}.time-slot.booked{background-color:#fff3e0;border-left-color:#ff9800;color:#e65100;cursor:pointer;position:relative}.time-slot.booked:hover{background-color:#ffcc80;border-left-width:4px;box-shadow:0 2px 8px #ff98004d;transform:translateX(2px)}.time-slot.booked-15min{border-left-width:3px;cursor:pointer}.time-slot.booked-15min:hover{background-color:#ffcc80;border-left-width:4px;box-shadow:0 2px 8px #ff980040;transform:translateX(2px)}.time-slot.booked-30min{align-items:center;background-color:#fce4ec;border-left-color:#e91e63;border-left-width:4px;color:#ad1457;cursor:pointer;display:flex;font-weight:600;height:50px}.time-slot.booked-30min:hover{background-color:#f8bbd9;border-left-width:5px;box-shadow:0 3px 12px #e91e634d;transform:translateX(3px)}.time-slot.booked.outside-hours{background-color:#f3e5f5;border:2px dashed #9c27b0;border-left:4px solid #9c27b0;color:#4a148c;cursor:pointer;position:relative}.time-slot.booked.outside-hours:hover{background-color:#e1bee7;border-left-width:5px;box-shadow:0 2px 8px #9c27b04d;transform:translateX(2px)}.time-slot.booked-15min.outside-hours{background-color:#f3e5f5;border:2px dashed #9c27b0;border-left:4px solid #9c27b0;color:#4a148c}.time-slot.booked-15min.outside-hours:hover{background-color:#e1bee7;border-left-width:5px;box-shadow:0 2px 8px #9c27b040;transform:translateX(2px)}.time-slot.booked-30min.outside-hours{align-items:center;background-color:#f3e5f5;border:2px dashed #9c27b0;border-left:4px solid #9c27b0;color:#4a148c;display:flex;height:50px}.time-slot.booked-30min.outside-hours:hover{background-color:#e1bee7;border-left-width:5px;box-shadow:0 3px 12px #9c27b04d;transform:translateX(3px)}.appointment-duration{background:#ffffff4d;border-radius:8px;font-size:9px;font-weight:500;opacity:.8;padding:1px 4px;position:absolute;right:22px;top:50%;transform:translateY(-50%)}.appointment-continuation{align-items:center;display:flex;font-size:10px;height:100%;justify-content:center;opacity:.6}.no-slots-message{background:#f9f9f9;border-radius:4px;color:#666;font-style:italic;padding:20px;text-align:center}.day-schedule.no-slots{opacity:.6}.day-schedule.no-slots .day-header{background:#f5f5f5}.slots-count{background:#e8f5e8;border-radius:10px;color:#4caf50;font-size:11px;font-weight:500;margin-left:8px;padding:2px 6px}.day-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #eee;display:flex;flex-direction:column;gap:2px;height:70px;justify-content:center;min-height:70px;padding:8px 6px;text-align:center}.day-header .day-name{color:#333;font-size:.9rem;font-weight:700}.day-header .day-date{color:#666;font-size:.8rem}.day-slots::-webkit-scrollbar{width:4px}.day-slots::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.day-slots::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.day-slots::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.appointment-popup-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.appointment-popup{animation:popupAppear .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;max-height:80vh;max-width:450px;overflow-y:auto;width:90%}@keyframes popupAppear{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.appointment-popup .popup-header{align-items:center;background:#fafafa;border-bottom:1px solid #e8e8e8;border-radius:16px 16px 0 0;display:flex;justify-content:flex-start;padding:20px 60px 20px 24px;position:relative}.appointment-popup .popup-header h3{color:#333;font-size:1.2rem;font-weight:600;margin:0}.appointment-popup .close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;font-weight:700;height:36px;justify-content:center;padding:0;position:absolute;right:16px;top:16px;transition:all .2s;width:36px;z-index:100}.appointment-popup .close-button:hover{background-color:#f5f5f5;color:#333;transform:scale(1.05)}.appointment-popup .popup-content{padding:20px}.appointment-popup .appointment-info{display:flex;flex-direction:column;gap:12px}.appointment-popup .info-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:14px 0;transition:background-color .2s}.appointment-popup .info-row:hover{background-color:#fafafa;border-radius:8px;margin:0 -24px;padding:14px 24px}.appointment-popup .info-row:last-child{border-bottom:none}.appointment-popup .info-row .label{color:#555;font-weight:600;min-width:110px;text-align:left}.appointment-popup .info-row .value{color:#333;flex:1 1;font-weight:500;text-align:right}.appointment-popup .info-row .value.status-badge{background-color:#e8f5e8;border-radius:20px;color:#2d7d32;display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.5px;max-width:-webkit-fit-content;max-width:fit-content;min-width:auto;padding:6px 16px;text-transform:capitalize;white-space:nowrap;width:auto}.appointment-popup .info-row .value.patient-link{border-radius:6px;color:#667eea;font-weight:600;margin:-4px -10px;padding:4px 10px;text-align:right;text-decoration:none;transition:all .2s}.appointment-popup .info-row .value.patient-link:hover{background-color:#667eea;color:#fff;text-decoration:none}.appointment-number{border-bottom:1px solid #e8e8e8;color:#555;font-size:1rem;font-weight:600;margin:0 0 15px;padding-bottom:8px}.appointment-separator{border:none;border-top:2px solid #f0f0f0;margin:20px 0}.appointment-count{color:#666;font-size:8px;font-weight:700;margin-left:2px;vertical-align:super}.booking-indicator{align-items:center;display:flex;font-size:11px;gap:1px;opacity:.9;position:absolute;right:6px;top:50%;transform:translateY(-50%)}.history-chart{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px 0;padding:20px}.history-chart h3{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 15px}.chart-stats{background:#f8f9fa;border-left:4px solid #2196f3;border-radius:6px;display:flex;gap:20px;margin-bottom:20px;padding:12px}.stat-item{align-items:center;display:flex;flex-direction:column;gap:4px}.stat-label{color:#666;font-size:.8rem}.stat-value{color:#333;font-size:1.1rem}.stat-value.avg{color:#ff9800}.stat-value.current{color:#4caf50;font-weight:700}.stat-value.planned{color:#2196f3}.chart-container{border-radius:4px;overflow-x:auto;width:100%}.chart-svg{background:#fff;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:auto;max-width:none;width:100%!important}.axis-label{fill:#666;font-size:11px;font-weight:500}.avg-label{fill:#ff9800;font-size:10px;font-weight:600}.data-point{cursor:pointer;transition:r .2s ease}.data-point:hover{r:6;filter:drop-shadow(0 2px 4px rgba(33,150,243,.3))}.chart-empty,.chart-error,.chart-loading{color:#666;font-style:italic;padding:40px;text-align:center}.chart-error{background:#ffebee;border-radius:4px;color:#d32f2f}.chart-loading{background:#e3f2fd;border-radius:4px;color:#1976d2}.chart-empty{background:#fafafa;border-radius:4px;color:#757575}@media (max-width:900px){.chart-container{overflow-x:scroll}.chart-stats{gap:15px;padding:10px}.stat-item{gap:2px}.stat-label{font-size:.75rem}.stat-value{font-size:1rem}}@media (max-width:600px){.history-chart{margin:15px 0;padding:15px}.chart-stats{align-items:center;flex-direction:column;gap:8px}.stat-item{flex-direction:row;gap:8px}}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0009}.modal-content{animation:modalSlideIn .3s ease-out;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:500px;overflow:hidden;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{border-bottom:1px solid #e5e7eb;padding:24px 24px 16px;position:relative}.modal-header h2{color:#1f2937;font-weight:600}.modal-header h3{color:#6b7280;font-size:1rem;font-weight:400;margin:4px 0 0}.close-button{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:1.5rem;padding:4px;position:absolute;right:20px;top:20px;transition:all .2s ease}.close-button:hover{background-color:#f3f4f6;color:#374151}.modal-loading{color:#6b7280;padding:60px 24px;text-align:center}.modal-body{max-height:60vh;overflow-y:auto}.form-group label{color:#374151;font-size:.9rem;font-weight:500;margin-bottom:6px}.form-group input[type=number],.form-group input[type=text]{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.9rem;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input[type=number]:focus,.form-group input[type=text]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-help{color:#6b7280;display:block;font-size:.8rem;margin-top:4px}.checkbox-group{margin-top:24px}.checkbox-label{display:flex;font-weight:400;margin-bottom:0}.checkbox-label input[type=checkbox]{accent-color:#3b82f6;height:18px;margin:0 10px 0 0;width:18px}.modal-footer{border-top:1px solid #e5e7eb;padding:16px 24px 24px}.btn{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background-color:#f9fafb;border-color:#d1d5db;color:#374151}.btn-secondary:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.btn-primary{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.spinner{border:2px solid #e5e7eb;border-top-color:#3b82f6;height:20px;width:20px}.spinner.small{border-width:2px;height:16px;width:16px}@media (max-width:640px){.modal-content{margin:20px;width:95%}.modal-body,.modal-footer,.modal-header{padding-left:16px;padding-right:16px}.modal-footer{flex-direction:column}.btn{justify-content:center;width:100%}}.toast{align-items:center;animation:toastSlideIn .3s ease-out;background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 10px 25px #00000026;display:flex;gap:12px;max-width:400px;min-width:300px;padding:16px 20px;position:fixed;right:20px;top:20px;z-index:1001}.toast-leaving{animation:toastSlideOut .3s ease-in forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.toast-success{border-left-color:#10b981}.toast-error{border-left-color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:24px;justify-content:center;width:24px}.toast-success .toast-icon{background-color:#d1fae5;color:#10b981}.toast-error .toast-icon{background-color:#fee2e2;color:#ef4444}.toast-warning .toast-icon{background-color:#fef3c7;color:#f59e0b}.toast-info .toast-icon{background-color:#dbeafe;color:#3b82f6}.toast-message{color:#374151;flex:1 1;font-size:14px;line-height:1.4}.toast-close{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;flex-shrink:0;font-size:16px;padding:4px;transition:all .2s ease}.toast-close:hover{background-color:#f3f4f6;color:#6b7280}@media (max-width:640px){.toast{left:10px;max-width:none;min-width:auto;right:10px;top:10px}}.global-menu-trigger{align-items:center;background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;height:44px;justify-content:center;left:20px;position:fixed;top:20px;transition:all .2s ease;width:44px;z-index:1000}.global-menu-trigger:hover{background:#f8f9fa;border-color:#ddd;box-shadow:0 4px 12px #00000026}.hamburger{display:flex;flex-direction:column;height:14px;justify-content:space-between;position:relative;width:18px}.hamburger span{background:#333;border-radius:1px;display:block;height:2px;transition:all .2s ease;width:100%}.hamburger.open span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.sidebar-overlay{animation:fadeIn .2s ease-out;background:#0006;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1001}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.global-sidebar{background:#fff;box-shadow:2px 0 8px #00000014;display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease;width:280px;z-index:1002}.global-sidebar.open{transform:translateX(0)}.sidebar-header{background:#f8f9fa;border-bottom:1px solid #e8e8e8;justify-content:space-between;padding:20px}.sidebar-brand,.sidebar-header{align-items:center;display:flex}.sidebar-brand{flex:1 1;gap:12px}.brand-logo{flex-shrink:0;height:28px;object-fit:contain;width:28px}.brand-text{color:#333;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-close{align-items:center;background:#0000;border:none;color:#666;cursor:pointer;display:flex;font-size:1rem;height:24px;justify-content:center;transition:color .2s ease;width:24px}.sidebar-close:hover{color:#333}.sidebar-content{flex:1 1;overflow-y:auto;padding:10px 0}.sidebar-menu{display:flex;flex-direction:column;gap:2px;padding:0 10px}.menu-item{align-items:center;background:#0000;border:none;border-radius:4px;color:#555;cursor:pointer;display:flex;justify-content:flex-start;padding:12px 16px;text-align:left;text-decoration:none;transition:all .15s ease;width:100%}.menu-item:hover{background:#f5f5f5;color:#333}.menu-item-content{align-items:center;display:flex;flex:1 1;gap:12px}.menu-icon{font-size:1rem;text-align:center;width:18px}.menu-text{display:flex;flex-direction:column;gap:1px}.menu-title{color:inherit;font-size:.9rem;font-weight:500}.menu-description{color:#888;font-size:.75rem}.expand-arrow{color:#999;font-size:.7rem;transition:transform .2s ease}.expand-arrow.rotated{transform:rotate(90deg)}.submenu{margin-left:16px;max-height:0;overflow:hidden;transition:max-height .2s ease}.submenu.expanded{max-height:200px}.submenu-item{align-items:center;border-radius:4px;color:#666;display:flex;gap:12px;margin:2px 0;padding:8px 16px;text-decoration:none;transition:all .15s ease}.submenu-item:hover{background:#f0f0f0;color:#333}.submenu-icon{font-size:.85rem;text-align:center;width:16px}.submenu-text{display:flex;flex-direction:column;gap:1px}.submenu-title{font-size:.8rem;font-weight:400}.submenu-description{color:#999;font-size:.7rem}.sidebar-footer{background:#f8f9fa;border-top:1px solid #e8e8e8;padding:16px}.user-info{align-items:center;display:flex;gap:12px;margin-bottom:12px}.user-avatar{background:#667eea;font-size:.9rem}.user-details{flex:1 1;min-width:0}.user-name{color:#333;display:block;font-size:.85rem;font-weight:500}.user-role{color:#888;display:block;font-size:.75rem}.logout-button{align-items:center;background:#0000;border:1px solid #e0e0e0;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:.8rem;gap:6px;justify-content:center;padding:8px 12px;transition:all .15s ease;width:100%}.logout-button:hover{background:#f5f5f5;border-color:#ccc;color:#333}@media (max-width:768px){.global-sidebar{width:260px}.global-menu-trigger{height:36px;width:36px}}.providers-analytics{background-color:#f8fafc;margin:0 auto;max-width:1600px;min-height:100vh;padding:20px 20px 20px 100px}.clear-filters-button{background:none;color:#6b7280;font-size:.875rem;padding:6px 12px}.clear-filters-button:hover{background-color:#f3f4f6}.filter-group input,.filter-group select{background:#fff}.providers-table{border-collapse:collapse;font-size:.875rem}.providers-table thead{background-color:#f8fafc}.providers-table th{border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:16px 12px;text-align:left;white-space:nowrap}.providers-table th.sortable{cursor:pointer;transition:background-color .2s;-webkit-user-select:none;user-select:none}.providers-table th.sortable:hover{background-color:#f1f5f9}.providers-table td{border-bottom:1px solid #f3f4f6;padding:16px 12px;vertical-align:top}.providers-table tbody tr:hover{background-color:#f8fafc}.provider-info{min-width:160px}.provider-name{color:#1f2937;font-weight:600;margin-bottom:4px}.provider-timezone{color:#6b7280;font-size:.75rem}.states-list{color:#374151}.initial-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:4px 8px}.initial-badge.yes{background-color:#dcfce7;color:#166534}.initial-badge.no{background-color:#fee2e2;color:#dc2626}.income-cell{min-width:120px}.hours-cell{min-width:100px;text-align:right}@media (max-width:1200px){.providers-table{font-size:.8rem}.providers-table td,.providers-table th{padding:12px 8px}}@media (max-width:768px){.providers-analytics{padding:16px 16px 16px 70px}.week-navigation{flex-direction:column;gap:16px}.summary-stats{grid-template-columns:repeat(2,1fr)}.filters-grid{grid-template-columns:1fr}.table-container{overflow-x:auto}.providers-table{min-width:1000px}}.states-analytics{background-color:#f8fafc;margin:0 auto;max-width:1600px;min-height:100vh;padding:20px 20px 20px 100px}.analytics-header p{margin:0}.filters-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;padding:24px}.filters-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.filters-header h3{color:#1f2937;font-size:1.25rem;margin:0}.clear-filters-button{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.clear-filters-button:hover{background-color:#e5e7eb}.filters-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group label{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:6px}.filter-group input,.filter-group select{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:8px 12px;transition:border-color .2s}.filter-group input:focus,.filter-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.table-container{padding:24px}.states-table thead{background-color:#f8fafc}.states-table th{padding:16px 12px;white-space:nowrap}.states-table th:nth-child(3),.states-table th:nth-child(4),.states-table th:nth-child(5){text-align:left}.states-table th:nth-child(6){text-align:center}.states-table th.sortable:hover{background-color:#f1f5f9}.states-table td{border-bottom:1px solid #f1f5f9;padding:16px 12px;vertical-align:top}.states-table tbody tr:hover{background-color:#f8fafc}.state-info{min-width:80px}.state-code{color:#1f2937;font-size:1.1rem;font-weight:600}.providers-cell{min-width:120px}.providers-count{color:#1f2937;font-weight:600;margin-bottom:2px}.providers-initial{color:#6b7280;font-size:.75rem}.income-cell{min-width:140px;text-align:right}.income-value{color:#1f2937;font-weight:600;margin-bottom:2px}.income-expected{color:#6b7280;font-size:.75rem}.rate-cell{color:#1f2937;font-weight:600;text-align:right}.hours-cell{min-width:120px;text-align:left}.hours-value{color:#1f2937;font-weight:600;margin-bottom:2px}.hours-planned{color:#6b7280;font-size:.75rem}.avg-hours-cell{color:#1f2937;font-weight:600;text-align:right}.appointments-cell{min-width:100px;text-align:center}.appointments-total{color:#1f2937;font-weight:600;margin-bottom:2px}.appointments-breakdown{color:#6b7280;font-size:.75rem}.percentage-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;min-width:40px;padding:4px 8px;text-align:center}.percentage-badge.excellent{background-color:#dcfce7;color:#166534}.percentage-badge.good{background-color:#dbeafe;color:#1d4ed8}.percentage-badge.fair{background-color:#fef3c7;color:#92400e}.percentage-badge.poor{background-color:#fee2e2;color:#dc2626}.view-details-button{border-radius:4px;display:inline-block}@media (max-width:1200px){.states-table{font-size:.8rem}.states-table td,.states-table th{padding:12px 8px}}@media (max-width:768px){.states-analytics{padding:16px 16px 16px 70px}.week-navigation{flex-direction:column;gap:16px}.summary-stats{grid-template-columns:repeat(2,1fr)}.filters-grid{grid-template-columns:1fr}.table-container{overflow-x:auto}.states-table{min-width:1000px}}.doctors-by-state{background-color:#f8fafc;margin:0 auto;max-width:1600px;min-height:100vh;padding:20px 20px 20px 100px}.analytics-header{margin-bottom:30px;text-align:center}.analytics-header h1{color:#1a202c;font-size:2.5rem;font-weight:700;margin-bottom:8px}.analytics-header p{color:#64748b;font-size:1.1rem;margin:0 0 20px}.filter-notification{margin-top:12px}.filter-badge{background-color:#3b82f6;border-radius:20px;color:#fff;display:inline-block;font-size:.875rem;font-weight:500;padding:6px 12px}.week-navigation{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.week-controls{align-items:center;display:flex;gap:16px}.week-nav-button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:all .2s;width:40px}.week-nav-button:hover{background-color:#f3f4f6;border-color:#9ca3af}.week-display{min-width:200px;text-align:center}.week-label{color:#6b7280;display:block;font-size:.875rem;font-weight:500;margin-bottom:4px}.week-range{color:#1f2937;display:block;font-size:1.1rem;font-weight:600}.current-week-button{background:#fff;border:1px solid #3b82f6;border-radius:6px;color:#3b82f6;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.current-week-button.current,.current-week-button:hover{background-color:#3b82f6;color:#fff}.state-filter{margin-bottom:30px}.analytics-header .state-filter{margin-bottom:0;margin-top:10px}.state-filter-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;min-width:200px;padding:10px 16px}.state-distribution{margin-bottom:30px;margin-top:40px}.state-distribution h3{color:#6b7280;font-size:1.1rem;font-weight:500;margin-bottom:20px}.state-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.state-table{border-collapse:collapse;min-width:800px;width:100%}.state-table th{background-color:#f8fafc;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.875rem;font-weight:500;padding:12px 8px;text-align:center;white-space:nowrap}.state-table th:first-child{background-color:#f1f5f9;border-right:2px solid #e5e7eb;min-width:200px;padding:12px;text-align:left}.state-table th.state-column{cursor:pointer;font-size:.875rem;transition:all .2s}.state-table th.state-column:hover{background-color:#e2e8f0;transform:translateY(-1px)}.state-table td{border-bottom:1px solid #f3f4f6;padding:8px 6px;text-align:center;vertical-align:middle}.state-table td.metric-label{background-color:#f9fafb;border-right:1px solid #e5e7eb;color:#6b7280;font-weight:500;left:0;position:-webkit-sticky;position:sticky;text-align:left;z-index:5}.state-table td.metric-value{font-size:.9rem;font-weight:500;transition:all .2s}.state-table tr:hover td.metric-value{background-color:#f0f9ff}.state-table .doctors-count,.state-table .followup-visits,.state-table .initial-visits{color:#6b7280}.state-table .total-visits{color:#374151;font-weight:500}.state-table tbody tr:nth-child(2n){background-color:#fafbfc}.state-table tbody tr:hover{background-color:#f0f9ff}.sort-controls{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-start;margin-top:8px}.sort-btn{align-items:center;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:4px;padding:4px 8px;transition:all .2s}.sort-btn:hover{background:#cbd5e1;border-color:#94a3b8;transform:translateY(-1px)}.sort-btn:active{background:#94a3b8;transform:translateY(0)}.table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.doctors-table{border-collapse:collapse;width:100%}.doctors-table thead{background-color:#f8fafc}.doctors-table th{border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:16px;text-align:left;white-space:nowrap}.doctors-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.doctors-table th.sortable:hover{background-color:#f1f5f9}.doctors-table td{border-bottom:1px solid #f3f4f6;padding:16px}.doctors-table tbody tr:hover{background-color:#f9fafb}.doctor-name{color:#1f2937;font-weight:600}.license-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:4px 8px;text-transform:uppercase}.license-badge.md{background-color:#dbeafe;color:#1d4ed8}.license-badge.np{background-color:#dcfce7;color:#166534}.license-badge.pa{background-color:#fef3c7;color:#92400e}.states-list{color:#6b7280;font-size:.875rem}.visit-count{color:#1f2937;font-weight:600}.visit-type-initial{color:#059669;font-weight:500}.visit-type-followup{color:#3b82f6;font-weight:500}.actions-cell{padding:16px 12px;text-align:center}.view-doctor-button{background-color:#3b82f6;border-radius:4px;color:#fff;display:inline-block;font-size:.75rem;font-weight:500;padding:6px 12px;text-decoration:none;transition:background-color .2s}.view-doctor-button:hover{background-color:#2563eb;color:#fff;text-decoration:none}.no-data-icon{font-size:4rem}.no-data h3{color:#6b7280}@media (max-width:1200px){.doctors-table{font-size:.875rem}.doctors-table td,.doctors-table th{padding:12px}}@media (max-width:768px){.doctors-by-state{padding:15px 15px 15px 80px}.week-navigation{flex-direction:column;gap:16px}.summary-stats{grid-template-columns:1fr 1fr}.table-container{overflow-x:auto}.doctors-table{min-width:800px}}@media (max-width:480px){.summary-stats{grid-template-columns:1fr}.analytics-header h1{font-size:2rem}}.open-hours-dynamics{margin:0 auto;max-width:1600px;padding:20px}.page-header{margin-bottom:30px}.page-header h1{color:#2c3e50;font-size:28px;margin:0 0 10px}.page-header p{color:#7f8c8d;font-size:16px;margin:0}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:40px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:50px;margin-bottom:20px;width:50px}.error-container h3{color:#e74c3c;margin-bottom:10px}.error-container button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-top:20px;padding:10px 20px}.error-container button:hover{background-color:#2980b9}.filters-container{align-items:flex-end;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px;padding:20px}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{color:#555;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.filter-group select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;min-width:150px;padding:8px 12px}.filter-group select:hover{border-color:#3498db}.filter-group select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.refresh-button{background-color:#3498db;border-radius:4px;font-size:14px;padding:8px 16px}.refresh-button:hover{background-color:#2980b9}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;box-shadow:0 4px 6px #0000001a;color:#fff;padding:25px}.summary-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.summary-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.summary-card h3{font-size:14px;font-weight:500;letter-spacing:1px;margin:0 0 15px;opacity:.9;text-transform:uppercase}.summary-value{font-size:36px;font-weight:700;line-height:1;margin-bottom:8px}.summary-detail{font-size:13px;opacity:.85}.charts-container{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr;margin-bottom:40px}.chart-section{background-color:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;max-width:100%;overflow:hidden;padding:25px}.chart-section h2{color:#2c3e50;font-size:20px;font-weight:600;margin:0 0 25px}.chart{display:flex;gap:15px;max-width:100%;min-height:400px;overflow:hidden}.chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;min-width:50px;padding-bottom:30px;padding-top:0}.y-label{color:#7f8c8d;font-size:12px;font-weight:500;text-align:right}.chart-content{border-left:2px solid #ecf0f1;display:flex;flex:1 1;flex-direction:column;min-width:0;padding-left:15px;position:relative}.chart-bars{align-items:flex-end;display:flex;gap:8px;min-height:350px;overflow-x:auto;overflow-y:hidden;padding-bottom:50px;padding-right:10px;scrollbar-color:#cbd5e0 #f7fafc;scrollbar-width:thin}.chart-bars::-webkit-scrollbar{height:8px}.chart-bars::-webkit-scrollbar-track{background:#f7fafc;border-radius:4px}.chart-bars::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.chart-bars::-webkit-scrollbar-thumb:hover{background:#a0aec0}.bar-container{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;gap:8px;width:60px}.bar{align-items:flex-end;border-radius:4px 4px 0 0;cursor:pointer;display:flex;justify-content:center;min-height:5px;padding-bottom:5px;position:relative;transition:transform .2s,box-shadow .2s;width:100%}.bar:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-3px)}.bar.selected{box-shadow:0 6px 12px #f39c1266;outline:3px solid #f39c12;outline-offset:2px;transform:translateY(-5px)}.bar-total{background:linear-gradient(0deg,#667eea,#764ba2)}.bar-average{background:linear-gradient(0deg,#4facfe,#00f2fe)}.legend-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;gap:24px;justify-content:center;margin:20px 0;padding:16px}.legend-item,.legend-section{align-items:center;display:flex}.legend-item{color:#2c3e50;font-size:14px;gap:8px}.legend-box{border-radius:4px;height:20px;width:40px}.legend-box.historical,.legend-box.projected{background:linear-gradient(90deg,#667eea,#764ba2)}.legend-box.projected{opacity:.5;position:relative}.legend-box.projected:after{background:repeating-linear-gradient(45deg,#0000,#0000 5px,#ffffff4d 0,#ffffff4d 10px);border-radius:4px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.bar.projected{opacity:.5;position:relative}.bar.projected:after{background:repeating-linear-gradient(45deg,#0000,#0000 10px,#fff3 0,#fff3 20px);border-radius:4px 4px 0 0;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.bar-value{color:#fff;font-size:11px;font-weight:600;text-shadow:0 1px 2px #0003}.bar-label{color:#7f8c8d;font-size:10px;font-weight:500;margin-top:25px;min-width:80px;text-align:left;transform:rotate(-45deg);transform-origin:left center;white-space:nowrap;writing-mode:horizontal-tb}.scroll-hint{color:#95a5a6;font-size:12px;font-style:italic;margin-top:10px;text-align:center}.period-filter-badge{align-items:center;animation:slideIn .3s ease;background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:8px;box-shadow:0 4px 8px #f39c124d;color:#fff;display:flex;font-size:14px;gap:16px;justify-content:space-between;margin-top:20px;padding:16px 24px}.period-summary{border-left:1px solid #ffffff4d;border-right:1px solid #ffffff4d;flex:1 1;font-size:15px;padding:0 16px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.period-filter-badge strong{font-weight:600;letter-spacing:.3px}.clear-period-button{background:#ffffff40;border:1px solid #fff6;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;line-height:1;padding:4px 10px;transition:all .2s}.clear-period-button:hover{background:#fff6;border-color:#fff;transform:scale(1.1)}.data-table-section{background-color:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;padding:25px}.data-table-section h2{color:#2c3e50;font-size:20px;font-weight:600;margin:0 0 20px}.data-table-container{max-height:600px;overflow-x:auto;overflow-y:auto}.data-table{border-collapse:collapse;width:100%}.data-table thead{background-color:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.data-table th{border-bottom:2px solid #dee2e6;color:#555;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 15px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #f1f3f5;font-size:14px;line-height:1.5;padding:16px;vertical-align:middle}.data-table tbody tr{transition:background-color .2s}.providers-table tbody td{min-height:64px}.data-table tbody tr:hover{background-color:#f8f9fa}.period-cell{color:#2c3e50;font-weight:500}.number-cell{color:#495057;font-family:Courier New,monospace;text-align:right}.filter-group-doctors{position:relative}.selected-count{color:#3498db;font-weight:600}.doctor-filter-dropdown{min-width:200px;position:relative}.doctor-filter-toggle{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 32px 8px 12px;position:relative;text-align:left;transition:all .2s;width:100%}.doctor-filter-toggle:hover{border-color:#3498db}.doctor-filter-toggle:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.dropdown-arrow{color:#7f8c8d;font-size:12px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.doctor-filter-dropdown-content{background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:0;max-height:400px;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.dropdown-header{border-bottom:1px solid #e9ecef;display:flex;gap:8px;padding:10px}.dropdown-header input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:13px;padding:6px 10px}.dropdown-header input:focus{border-color:#3498db;outline:none}.clear-mini-button{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:background-color .2s}.clear-mini-button:hover{background-color:#c0392b}.doctors-dropdown-list{max-height:320px;overflow-y:auto;padding:8px}.doctor-checkbox-compact{align-items:center;border-radius:3px;cursor:pointer;display:flex;gap:8px;padding:6px 8px;transition:background-color .2s}.doctor-checkbox-compact:hover{background-color:#f8f9fa}.doctor-checkbox-compact input[type=checkbox]{cursor:pointer;height:16px;width:16px}.doctor-name-compact{align-items:center;color:#2c3e50;display:flex;flex:1 1;font-size:13px;gap:6px}.initial-badge-mini{background-color:#27ae60;border-radius:2px;color:#fff;font-size:10px;font-weight:600;padding:1px 4px}.more-doctors-hint-mini{color:#7f8c8d;font-size:12px;font-style:italic;padding:8px;text-align:center}.table-description{color:#7f8c8d;font-size:14px;margin:0 0 15px}.providers-table{table-layout:fixed;width:100%}.providers-table th.th-left{text-align:left}.providers-table th.th-center{text-align:center}.providers-table th.th-right{text-align:right}.providers-table .id-cell{color:#7f8c8d;font-family:Courier New,monospace;font-size:14px;font-weight:600;max-width:60px;width:60px}.providers-table .name-cell{color:#2c3e50;font-weight:500;max-width:200px;min-width:160px;text-align:left}.providers-table .text-cell{color:#495057;max-width:180px;min-width:120px;text-align:left}.providers-table .center-cell{max-width:150px;text-align:center;width:150px}.providers-table .number-cell{color:#495057;font-family:Courier New,monospace;max-width:110px;text-align:right;width:110px}.providers-table .highlight-cell{color:#3498db;font-size:15px;font-weight:600}.providers-table .period-hours-cell{background-color:#fff3e0;border-left:3px solid #f39c12;color:#e67e22;font-size:16px;font-weight:700;max-width:120px;width:120px}.data-table th.sortable{cursor:pointer;position:relative;transition:background-color .2s;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{background-color:#e9ecef}.sort-indicator{color:#3498db;font-weight:700;margin-left:4px}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.badge-yes{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.badge-no{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.projected-indicator{color:#9b59b6;font-size:12px;margin-left:5px}.projected-row{background-color:#f8f5ff}.data-table-section+.data-table-section{margin-top:30px}@media (max-width:768px){.filters-container{align-items:stretch;flex-direction:column}.filter-group select,.refresh-button{width:100%}.chart{height:300px}.chart-bars{gap:4px}.bar-container{min-width:30px}.bar-label{font-size:9px}.doctors-list,.summary-cards{grid-template-columns:1fr}.doctors-filter-header{align-items:flex-start;flex-direction:column;gap:10px}}.users-page{background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin-left:60px;min-height:100vh;padding:24px}.users-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:16px}.users-header h1{color:#111827;font-size:1.875rem;font-weight:700;letter-spacing:-.025em;margin:0}.create-user-button{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:6px;padding:10px 16px;transition:background-color .2s ease}.create-user-button:hover{background:#2563eb}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;font-size:.875rem;padding:12px 16px}.error-message button{align-items:center;background:none;border:none;border-radius:4px;color:#b91c1c;cursor:pointer;display:flex;font-size:1.1rem;height:20px;justify-content:center;padding:0;width:20px}.error-message button:hover{background:#fecaca}.users-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #f3f4f6;padding:12px 16px;vertical-align:middle}.users-table tr:hover{background:#f9fafb}.users-table tr.user-disabled{opacity:.5}.user-id{color:#6b7280;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,monospace;font-size:.875rem;font-weight:500;width:60px}.name-cell{gap:10px}.name-cell,.user-avatar{align-items:center;display:flex}.user-avatar{background:#3b82f6;border-radius:50%;color:#fff;flex-shrink:0;font-size:.875rem;font-weight:500;height:32px;justify-content:center;width:32px}.user-email{color:#6b7280;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,monospace;font-size:.875rem}.group-badge{border-radius:6px;font-size:.75rem;font-weight:500;letter-spacing:.025em;padding:4px 8px;text-transform:uppercase}.group-admin{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.group-care-team{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.group-marketing{background:#fffbeb;border:1px solid #fed7aa;color:#d97706}.group-provider{background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}.group-default{background:#f9fafb;border:1px solid #e5e7eb;color:#6b7280}.status-toggle{border:1px solid;border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:500;letter-spacing:.025em;padding:4px 8px;text-transform:uppercase;transition:all .2s ease}.status-toggle.enabled{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.status-toggle.disabled{background:#fef2f2;border-color:#fecaca;color:#dc2626}.status-toggle:hover{opacity:.8}.user-actions{display:flex;gap:4px}.delete-button,.edit-button{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:1rem;padding:6px;transition:background-color .2s ease}.edit-button:hover{background:#f3f4f6;color:#3b82f6}.delete-button:hover{background:#fef2f2;color:#dc2626}.no-users{color:#6c757d;padding:60px 20px;text-align:center}.no-users-icon{font-size:4rem;margin-bottom:20px}.no-users h3{color:#495057;margin:0 0 10px}.no-users p{font-size:1.1rem;margin:0 0 30px}.modal-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:480px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:24px}.modal-header h2{color:#2c3e50;font-size:1.5rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;width:32px}.modal-close:hover{background:#f8f9fa;color:#495057}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#495057;display:block;font-weight:600;margin-bottom:8px}.form-group input,.form-group select{border:2px solid #dee2e6;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#007bff;outline:none}.checkbox-label{align-items:center;cursor:pointer;display:flex!important;gap:8px}.checkbox-label input[type=checkbox]{margin:0;width:auto!important}.modal-footer{border-top:1px solid #dee2e6;display:flex;gap:12px;justify-content:flex-end;padding:24px}.cancel-button{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background .2s ease}.cancel-button:hover{background:#5a6268}.save-button{background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background .2s ease}.save-button:hover{background:#0056b3}.loading-state{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#007bff}@media (max-width:768px){.users-page{margin-left:0;padding:15px}.users-header{align-items:stretch;flex-direction:column;gap:15px}.users-stats{gap:15px;grid-template-columns:repeat(2,1fr)}.users-table-container{overflow-x:auto}.users-table{min-width:700px}.modal-content{margin:20px;max-width:none}}.available-slots-page{background-color:#f8fafc;margin:0 auto;max-width:1600px;min-height:100vh;padding:20px 20px 20px 100px}.available-slots-header{margin-bottom:30px;text-align:center}.available-slots-header h1{color:#1a202c;font-size:2.5rem;font-weight:700;margin-bottom:8px}.available-slots-header p{color:#64748b;font-size:1.1rem;margin:0}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{border:4px solid #e2e8f0;border-top-color:#3b82f6;height:40px;margin-bottom:20px;width:40px}.error-state{color:#dc2626}.error-icon{font-size:3rem;margin-bottom:16px}.retry-button{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;margin-top:16px;padding:10px 20px}.retry-button:hover{background-color:#2563eb}.summary-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;text-align:center}.stat-icon{font-size:2rem;margin-bottom:12px}.stat-value{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:8px}.stat-label{color:#6b7280;font-size:.875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.refresh-button{align-items:center;background-color:#3b82f6;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:12px 20px;position:fixed;right:20px;top:20px;transition:background-color .2s}.refresh-button:hover{background-color:#2563eb}.table-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;overflow:hidden}.table-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px 24px}.table-header h3{align-items:center;color:#1f2937;display:flex;font-size:1.25rem;font-weight:600;gap:8px;margin:0}.table-header-icon{font-size:1.5rem}.table-header p{color:#6b7280;font-size:.875rem;margin:8px 0 0}.table-container{overflow-x:auto}.states-table{border-collapse:collapse;font-size:.875rem;width:100%}.states-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:12px 16px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:1}.states-table th.date-header{border-left:2px solid #e5e7eb;border-right:2px solid #e5e7eb;color:#1f2937;font-size:.8rem;font-weight:600;letter-spacing:normal;text-align:center;text-transform:none}.states-table th.sub-header{background:#f3f4f6;border-bottom:2px solid #e5e7eb;color:#6b7280;cursor:pointer;font-size:.7rem;font-weight:500;padding:8px 12px;text-align:center;transition:background-color .2s;-webkit-user-select:none;user-select:none}.states-table th.sub-header:hover{background-color:#e5e7eb}.states-table th.sub-header.initial{border-right:1px solid #d1d5db;color:#059669}.states-table th.sub-header.followup{border-left:1px solid #d1d5db;color:#2563eb}.states-table th.sub-header.sortable:after{color:#9ca3af;content:" ↕";font-size:.6rem}.states-table th.sub-header.sortable.asc:after{color:#3b82f6;content:" ↑"}.states-table th.sub-header.sortable.desc:after{color:#3b82f6;content:" ↓"}.states-table th.sortable{cursor:pointer;transition:background-color .2s;-webkit-user-select:none;user-select:none}.states-table th.sortable:hover{background-color:#f3f4f6}.states-table th.sortable:after{color:#9ca3af;content:" ↕";font-size:.75rem}.states-table th.sortable.asc:after{color:#3b82f6;content:" ↑"}.states-table th.sortable.desc:after{color:#3b82f6;content:" ↓"}.states-table td{border-bottom:1px solid #f3f4f6;padding:12px 16px;vertical-align:middle}.states-table tbody tr:hover{background-color:#f9fafb}.state-cell{color:#1f2937;font-weight:600}.metric-cell{color:#374151;font-weight:500}.metric-cell.initial{color:#059669}.metric-cell.followup{color:#2563eb}.doctors-count{color:#6b7280;font-size:.875rem}.daily-metric{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;min-width:30px;padding:4px 8px;text-align:center}.daily-metric.has-slots{background-color:#f0f9ff;color:#1e40af;font-weight:600}.daily-metric.has-slots.initial{background-color:#f0fdf4;color:#059669}.daily-metric.has-slots.followup{background-color:#f0f9ff;color:#2563eb}.daily-metric.no-slots{background-color:#f9fafb;color:#9ca3af}.daily-cell{border-left:1px solid #f3f4f6;border-right:1px solid #f3f4f6;padding:8px 6px}.action-cell,.daily-cell{text-align:center}.view-details-button{align-items:center;background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:4px;padding:6px 12px;text-decoration:none;transition:background-color .2s}.view-details-button:hover{background-color:#2563eb;color:#fff;text-decoration:none}.no-data{color:#6b7280;padding:60px 20px;text-align:center}.no-data-icon{font-size:3rem;margin-bottom:16px}.no-data h3{color:#374151;margin-bottom:8px}@media (max-width:1200px){.states-table{font-size:.75rem}.states-table td,.states-table th{padding:8px 12px}}@media (max-width:768px){.available-slots-page{padding:16px 16px 16px 80px}.summary-stats{grid-template-columns:repeat(2,1fr)}.table-container{overflow-x:scroll}.states-table{min-width:800px}}@media (max-width:480px){.summary-stats{grid-template-columns:1fr}.available-slots-header h1{font-size:2rem}}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:420px;padding:40px;text-align:center;width:100%}.login-header{margin-bottom:40px}.login-logo{height:80px;margin-bottom:20px;width:80px}.login-header h1{color:#2d3748;font-size:2rem;font-weight:700;margin:0 0 10px}.login-header p{color:#718096;font-size:1.1rem;margin:0}.error-message{background:#fed7d7;border:1px solid #fc8181;border-radius:8px;font-size:.9rem;justify-content:space-between;margin-bottom:24px;padding:16px}.error-close,.error-message{align-items:center;color:#c53030;display:flex}.error-close{background:none;border:none;border-radius:50%;cursor:pointer;font-size:1.2rem;height:24px;justify-content:center;padding:0;width:24px}.error-close:hover{background:#c530301a}.login-form{margin-bottom:30px}.google-login-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;color:#2d3748;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:12px;justify-content:center;padding:16px 24px;transition:all .2s ease;width:100%}.google-login-button:hover:not(:disabled){border-color:#cbd5e0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.google-login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.google-icon{flex-shrink:0}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;flex-shrink:0;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-info{border-top:1px solid #e2e8f0;color:#718096;font-size:.9rem;padding-top:20px}.login-info p{margin:0 0 8px}.login-info p:last-child{margin-bottom:0}@media (max-width:480px){.login-page{padding:10px}.login-container{padding:30px 20px}.login-header h1{font-size:1.7rem}}