#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{align-items:center;color:#333;display:flex;font-size:2rem;font-weight:700;gap:8px;line-height:1.2;margin:0 0 8px;padding:0;text-align:left;word-break:break-word}.priority-star{cursor:help;font-size:1.5rem;transition:all .2s ease}.priority-star:hover{filter:drop-shadow(0 2px 4px rgba(245,158,11,.4));transform:scale(1.2)}.doctor-name-section h1{color:#333;display:block;font-size:2rem;font-weight:700;line-height:1.2;margin:0;padding:0;text-align:left;word-break:break-word}.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{font-size:.9rem;gap:20px;margin:5px 0}.legend-item,.schedule-legend{align-items:center;display:flex}.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}.no-show-impact-small{color:#e74c3c;font-weight:600;margin-left:4px}.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)}.time-slot.booked.no-show{background:repeating-linear-gradient(45deg,#ffebee,#ffebee 10px,#ffcdd2 0,#ffcdd2 20px);opacity:.7;position:relative}.time-slot.booked.no-show:after{background-color:#d32f2f;content:"";height:2px;left:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.time-slot.booked-15min.no-show{background:repeating-linear-gradient(45deg,#fff3e0,#fff3e0 8px,#ffccbc 0,#ffccbc 16px);border-left-color:#d32f2f}.time-slot.booked-30min.no-show{background:repeating-linear-gradient(45deg,#fce4ec,#fce4ec 10px,#f8bbd0 0,#f8bbd0 20px);border-left-color:#d32f2f}.time-slot.booked.no-show:hover{opacity:.85}.no-show-badge{background:#d32f2f;border-radius:3px;color:#fff;font-size:10px;line-height:1;padding:1px 3px;position:absolute;right:2px;top:2px;z-index:2}.info-row.no-show-info{background-color:#ffebee;border-left:3px solid #d32f2f;border-radius:4px;margin-top:8px;padding:8px}.no-show-badge-text{color:#c62828;font-weight:600}.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{animation:spin 1s linear infinite;border:2px solid #e5e7eb;border-radius:50%;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}.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:none;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.875rem;padding:6px 12px}.clear-filters-button:hover{background-color:#f3f4f6}.filters-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:6px}.filter-group input,.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:8px 12px}.filter-group input:focus,.filter-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.providers-table{border-collapse:collapse;font-size:.875rem;width:100%}.providers-table thead{background-color:#f8fafc}.providers-table th{border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:16px 12px;white-space:nowrap}.providers-table th.text-left{text-align:left}.providers-table th.text-center{text-align:center}.providers-table td.text-left{text-align:left}.providers-table td.text-center{text-align:center}.providers-table th.sortable{cursor:pointer;transition:background-color .2s;-webkit-user-select:none;user-select:none}.providers-table th .th-inner{align-items:center;display:inline-flex;gap:6px}.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}.text-left{text-align:left}.text-center{text-align:center}.provider-info{min-width:160px}.provider-name{align-items:center;color:#1f2937;display:flex;flex-wrap:wrap;font-weight:600;gap:6px;margin-bottom:4px}.license-badge-compact{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:2px 6px;text-transform:uppercase}.license-badge-compact.md{background-color:#dbeafe;color:#1d4ed8}.license-badge-compact.do{background-color:#dcfce7;color:#15803d}.license-badge-compact.np{background-color:#fef3c7;color:#a16207}.license-badge-compact.pmhnp{background-color:#f3e8ff;color:#7e22ce}.license-badge-compact.unknown{background-color:#f3f4f6;color:#6b7280}.priority-badge{align-items:center;cursor:help;display:inline-flex;font-size:1rem;justify-content:center;line-height:1;transition:all .2s ease}.priority-badge:hover{filter:drop-shadow(0 2px 4px rgba(245,158,11,.4));transform:scale(1.2)}.initial-dot{align-items:center;cursor:help;display:inline-flex;font-size:.8rem;justify-content:center;line-height:1;transition:all .2s ease}.initial-dot:hover{transform:scale(1.3)}.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;text-align:center}.income-cell>div{display:block;text-align:center}.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:center}.hours-cell{min-width:100px;text-align:center}.hours-cell>div{display:block;text-align:center}.hours-value{color:#1f2937;font-weight:600;margin-bottom:2px}.hours-planned{color:#6b7280;font-size:.75rem}.appointments-cell{min-width:100px;text-align:center}.appointments-cell>div{display:block;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){.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}}.providers-analytics .view-toggle{border:1px solid #d1d5db;border-radius:8px;display:inline-flex;overflow:hidden}.providers-analytics .view-toggle-button{background:#fff;border:none;color:#374151;cursor:pointer;font-size:14px;padding:8px 14px}.providers-analytics .view-toggle-button+.view-toggle-button{border-left:1px solid #d1d5db}.providers-analytics .view-toggle-button.active{background:#1f2937;color:#fff}.providers-analytics .month-note{color:#6b7280;font-size:13px;margin:-8px 0 16px}.states-analytics{--sa-surface:#fff;--sa-plane:#f6f7f9;--sa-ink:#171c26;--sa-ink-2:#4c5566;--sa-muted:#8a91a0;--sa-hairline:#e7e9ef;--sa-grid:#eef0f4;--sa-accent:#5a6acf;--sa-accent-deep:#4c5fd6;--sa-accent-soft:#eef0fb;--sa-pos:#1d7a3d;--sa-pos-soft:#e6f4ea;--sa-ok:#2a6fb0;--sa-ok-soft:#e7f0fa;--sa-warn:#9a6200;--sa-warn-soft:#fdf3e1;--sa-neg:#c43d3c;--sa-neg-soft:#fbeaea;--sa-radius:12px;--sa-shadow:0 1px 2px #171c260d,0 4px 16px #171c260d;font-feature-settings:"tnum";color:var(--sa-ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-variant-numeric:tabular-nums;margin:0 auto;max-width:1400px;padding:24px}.states-analytics *,.states-analytics :after,.states-analytics :before{box-sizing:border-box}.states-analytics .sa-header{margin-bottom:20px}.states-analytics .sa-header h1{color:var(--sa-ink);font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}.states-analytics .sa-header p{color:var(--sa-ink-2);font-size:14px;margin:0;max-width:760px}.states-analytics .sa-toolbar{align-items:flex-end;background:var(--sa-surface);border:1px solid var(--sa-hairline);border-radius:var(--sa-radius);box-shadow:var(--sa-shadow);display:flex;flex-wrap:wrap;gap:16px 24px;margin-bottom:10px;padding:14px 16px}.states-analytics .sa-group{display:flex;flex-direction:column;gap:6px;min-width:0}.states-analytics .sa-label{color:var(--sa-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.states-analytics .sa-segmented{background:var(--sa-plane);border:1px solid var(--sa-hairline);border-radius:8px;display:inline-flex;padding:2px}.states-analytics .sa-segmented button{background:#0000;border:none;border-radius:6px;color:var(--sa-ink-2);cursor:pointer;font:inherit;font-size:13px;font-weight:500;padding:6px 12px;transition:background-color .15s,color .15s;white-space:nowrap}.states-analytics .sa-segmented button:hover{color:var(--sa-ink)}.states-analytics .sa-segmented button.sa-seg-active{background:var(--sa-surface);box-shadow:0 1px 2px #171c261a;color:var(--sa-accent-deep);font-weight:600}.states-analytics .sa-btn{background:var(--sa-surface);border:1px solid var(--sa-hairline);border-radius:8px;color:var(--sa-ink-2);cursor:pointer;font:inherit;font-size:13px;font-weight:500;line-height:1.4;padding:6px 12px;transition:border-color .15s,color .15s,background-color .15s}.states-analytics .sa-btn:hover:not(:disabled){border-color:var(--sa-accent);color:var(--sa-accent-deep)}.states-analytics .sa-btn:disabled{cursor:default;opacity:.45}.states-analytics .sa-btn:focus-visible,.states-analytics .sa-expand:focus-visible,.states-analytics .sa-segmented button:focus-visible{box-shadow:0 0 0 3px var(--sa-accent-soft);outline:none}.states-analytics .sa-btn-primary{background:var(--sa-accent);border-color:var(--sa-accent);color:#fff}.states-analytics .sa-btn-primary:hover:not(:disabled){background:var(--sa-accent-deep);color:#fff}.states-analytics .sa-icon-btn{font-size:16px;line-height:1.1;padding:6px 0;width:32px}.states-analytics .sa-period{align-items:center;display:flex;gap:6px}.states-analytics .sa-period-label{align-items:center;color:var(--sa-ink);display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:200px;padding:0 4px;white-space:nowrap}.states-analytics .sa-chip{border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;padding:2px 8px}.states-analytics .sa-chip-past{background:var(--sa-plane);color:var(--sa-ink-2)}.states-analytics .sa-chip-current{background:var(--sa-accent-soft);color:var(--sa-accent-deep)}.states-analytics .sa-chip-future{background:var(--sa-warn-soft);color:var(--sa-warn)}.states-analytics .sa-refresh{margin-left:auto}.states-analytics .sa-notes{color:var(--sa-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:4px 16px;margin:0 2px 16px}.states-analytics .sa-note-future{color:var(--sa-warn);font-weight:500}.states-analytics .sa-card{background:var(--sa-surface);border:1px solid var(--sa-hairline);border-radius:var(--sa-radius);box-shadow:var(--sa-shadow);overflow:hidden;transition:opacity .15s}.states-analytics .sa-card.sa-is-loading{opacity:.55;pointer-events:none}.states-analytics .sa-inline-error{background:var(--sa-neg-soft);color:var(--sa-neg);font-size:13px;padding:8px 16px}.states-analytics .sa-link-btn{background:none;border:none;color:inherit;cursor:pointer;font:inherit;font-weight:600;padding:0;text-decoration:underline}.states-analytics .sa-table-wrap{overflow-x:auto}.states-analytics .sa-table{border-collapse:collapse;font-size:13px;width:100%}.states-analytics .sa-th{background:var(--sa-plane);border-bottom:1px solid var(--sa-hairline);color:var(--sa-muted);cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.06em;padding:10px 14px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:1}.states-analytics .sa-th-active,.states-analytics .sa-th:hover{color:var(--sa-ink)}.states-analytics .sa-th-static{cursor:default}.states-analytics .sa-th-static:hover{color:var(--sa-muted)}.states-analytics .sa-sort{color:var(--sa-accent);display:inline-block;margin-left:2px;width:10px}.states-analytics .sa-sort-idle{color:var(--sa-hairline)}.states-analytics .sa-table td{border-bottom:1px solid var(--sa-grid);color:var(--sa-ink-2);line-height:1.4;padding:9px 14px;vertical-align:middle}.states-analytics .sa-table tbody tr:hover td{background:var(--sa-plane)}.states-analytics .sa-align-left{text-align:left}.states-analytics .sa-align-center{text-align:center}.states-analytics .sa-align-right{text-align:right}.states-analytics .sa-num{text-align:right;white-space:nowrap}.states-analytics .sa-state{letter-spacing:.02em}.states-analytics .sa-state,.states-analytics .sa-strong{color:var(--sa-ink);font-weight:600}.states-analytics .sa-sub{color:var(--sa-muted);font-size:11px}.states-analytics .sa-muted{color:var(--sa-muted)}.states-analytics .sa-expand{align-items:center;background:none;border:1px solid #0000;border-radius:6px;color:var(--sa-accent-deep);cursor:pointer;display:inline-flex;font:inherit;font-weight:600;gap:6px;padding:2px 8px}.states-analytics .sa-expand:hover{background:var(--sa-accent-soft)}.states-analytics .sa-caret{display:inline-block;font-size:14px;line-height:1;transition:transform .15s}.states-analytics .sa-caret-open{transform:rotate(90deg)}.states-analytics .sa-row-open td{background:var(--sa-plane);border-bottom-color:#0000}.states-analytics .sa-subrow td,.states-analytics .sa-table tbody tr.sa-subrow:hover td{background:var(--sa-plane);padding:4px 14px 14px}.states-analytics .sa-provider-list{grid-gap:2px 24px;background:var(--sa-surface);border:1px solid var(--sa-hairline);border-radius:8px;display:grid;gap:2px 24px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));list-style:none;margin:0;padding:10px 12px}.states-analytics .sa-provider-list li{border-bottom:1px dashed var(--sa-grid);display:flex;font-size:12px;gap:12px;justify-content:space-between;padding:4px 0}.states-analytics .sa-provider-list a{color:var(--sa-ink);overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.states-analytics .sa-provider-list a:hover{color:var(--sa-accent-deep);text-decoration:underline}.states-analytics .sa-provider-hours{color:var(--sa-ink-2);flex-shrink:0}.states-analytics .sa-badge{border-radius:999px;display:inline-block;font-size:12px;font-weight:600;min-width:48px;padding:2px 8px;text-align:center}.states-analytics .sa-badge-excellent{background:var(--sa-pos-soft);color:var(--sa-pos)}.states-analytics .sa-badge-good{background:var(--sa-ok-soft);color:var(--sa-ok)}.states-analytics .sa-badge-fair{background:var(--sa-warn-soft);color:var(--sa-warn)}.states-analytics .sa-badge-poor{background:var(--sa-neg-soft);color:var(--sa-neg)}.states-analytics .sa-goal{align-items:center;display:flex;gap:8px;min-width:120px}.states-analytics .sa-goal-track{background:var(--sa-grid);border-radius:999px;flex:1 1;height:6px;min-width:60px;overflow:hidden}.states-analytics .sa-goal-fill{border-radius:999px;height:100%}.states-analytics .sa-goal-met{background:var(--sa-pos)}.states-analytics .sa-goal-near{background:var(--sa-accent)}.states-analytics .sa-goal-low{background:var(--sa-neg)}.states-analytics .sa-goal-value{color:var(--sa-ink-2);font-size:12px;min-width:40px;text-align:right}.states-analytics .sa-view{border:1px solid var(--sa-hairline);border-radius:6px;color:var(--sa-accent-deep);font-size:12px;font-weight:600;padding:4px 10px;text-decoration:none;white-space:nowrap}.states-analytics .sa-view:hover{background:var(--sa-accent-soft);border-color:var(--sa-accent)}.states-analytics .sa-total td{background:var(--sa-plane);border-top:1px solid var(--sa-hairline);color:var(--sa-ink);font-weight:600;padding:11px 14px}.states-analytics .sa-empty{color:var(--sa-muted);padding:40px 14px;text-align:center}.states-analytics .sa-footnotes{border-top:1px solid var(--sa-grid);color:var(--sa-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:4px 16px;padding:10px 16px}.states-analytics .sa-state-box{align-items:center;background:var(--sa-surface);border:1px solid var(--sa-hairline);border-radius:var(--sa-radius);color:var(--sa-ink-2);display:flex;flex-direction:column;justify-content:center;min-height:320px;padding:40px;text-align:center}.states-analytics .sa-state-box h3{color:var(--sa-neg);margin:0 0 8px}.states-analytics .sa-state-box p{margin:0 0 16px}.states-analytics .sa-spinner{animation:sa-spin .9s linear infinite;border:3px solid var(--sa-grid);border-radius:50%;border-top-color:var(--sa-accent);height:40px;margin-bottom:16px;width:40px}@keyframes sa-spin{to{transform:rotate(1turn)}}@media (max-width:900px){.states-analytics .sa-refresh{margin-left:0}}@media (max-width:640px){.states-analytics{padding:16px}.states-analytics .sa-toolbar{align-items:stretch;flex-direction:column}.states-analytics .sa-segmented{display:flex}.states-analytics .sa-segmented button{flex:1 1}.states-analytics .sa-period-label{flex:1 1;min-width:0}.states-analytics .sa-table td,.states-analytics .sa-th{padding:8px 10px}}.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}.state-filter,.week-navigation{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{--ohd-surface:#fff;--ohd-plane:#f6f7f9;--ohd-ink:#171c26;--ohd-ink-2:#4c5566;--ohd-muted:#8a91a0;--ohd-hairline:#e7e9ef;--ohd-grid:#eef0f4;--ohd-accent:#5a6acf;--ohd-accent-soft:#eef0fb;--ohd-series:#667eea;--ohd-series-deep:#4c5fd6;--ohd-legacy:#c2c7d4;--ohd-fu:#b9c4e8;--ohd-inflow:#2a78d6;--ohd-outflow:#e34948;--ohd-pos-text:#1d7a3d;--ohd-neg-text:#c43d3c;--ohd-radius:12px;--ohd-shadow:0 1px 2px #171c260d,0 4px 16px #171c260d;color:var(--ohd-ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;margin:0 auto;max-width:1600px;padding:24px}.open-hours-dynamics .page-header{margin-bottom:20px}.open-hours-dynamics .page-header h1{color:var(--ohd-ink);font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}.open-hours-dynamics .page-header p{color:var(--ohd-ink-2);font-size:14px;margin:0}.open-hours-dynamics .data-freshness{color:var(--ohd-muted);font-size:12px;margin-top:4px}.open-hours-dynamics .error-container,.open-hours-dynamics .loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:40px}.open-hours-dynamics .spinner{animation:ohd-spin .9s linear infinite;border-top:3px solid var(--ohd-grid);border:3px solid var(--ohd-grid);border-radius:50%;border-top-color:var(--ohd-accent);height:44px;margin-bottom:20px;width:44px}@keyframes ohd-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.open-hours-dynamics .error-container h3{color:var(--ohd-neg-text);margin-bottom:10px}.open-hours-dynamics .error-container button{background-color:var(--ohd-accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;margin-top:20px;padding:10px 20px}.open-hours-dynamics .filters-container{align-items:flex-end;background:var(--ohd-surface);border:1px solid var(--ohd-hairline);border-radius:var(--ohd-radius);box-shadow:var(--ohd-shadow);display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:14px 16px}.open-hours-dynamics .filter-group{display:flex;flex-direction:column;gap:6px}.open-hours-dynamics .filter-group label{color:var(--ohd-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.open-hours-dynamics .filter-group select{background-color:var(--ohd-surface);border:1px solid var(--ohd-hairline);border-radius:8px;color:var(--ohd-ink);cursor:pointer;font-size:14px;min-width:150px;padding:8px 12px;transition:border-color .15s,box-shadow .15s}.open-hours-dynamics .filter-group select:hover{border-color:var(--ohd-accent)}.open-hours-dynamics .filter-group select:focus{border-color:var(--ohd-accent);box-shadow:0 0 0 3px var(--ohd-accent-soft);outline:none}.open-hours-dynamics .refresh-button{background-color:var(--ohd-accent);border:none;border-radius:8px;box-shadow:none;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-left:auto;padding:9px 16px;position:static;transition:background-color .15s}.open-hours-dynamics .refresh-button:hover{background-color:var(--ohd-series-deep)}.open-hours-dynamics .summary-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.open-hours-dynamics .summary-card{background:var(--ohd-surface);border:1px solid var(--ohd-hairline);border-radius:var(--ohd-radius);box-shadow:var(--ohd-shadow);color:var(--ohd-ink);overflow:hidden;padding:18px 20px;position:relative}.open-hours-dynamics .summary-card:before{background:var(--ohd-accent);bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.open-hours-dynamics .summary-card h3{color:var(--ohd-muted);font-size:11px;font-weight:600;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.open-hours-dynamics .summary-value{font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1;margin-bottom:6px}.open-hours-dynamics .summary-detail{color:var(--ohd-ink-2);font-size:13px}.open-hours-dynamics .summary-progress{background:repeating-linear-gradient(45deg,#0000,#0000 4px,#ffffff80 4px,#ffffff80 8px),var(--ohd-accent-soft);border-radius:3px;height:6px;margin:2px 0 8px;overflow:hidden}.open-hours-dynamics .summary-progress span{background:var(--ohd-series);border-radius:3px;display:block;height:100%}.open-hours-dynamics .legend-section{align-items:center;background:var(--ohd-surface);border:1px solid var(--ohd-hairline);border-radius:var(--ohd-radius);box-shadow:var(--ohd-shadow);display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin:0 0 20px;padding:10px 16px}.open-hours-dynamics .legend-item{align-items:center;color:var(--ohd-ink-2);display:flex;font-size:13px;gap:8px}.open-hours-dynamics .legend-box{border-radius:4px;height:14px;width:28px}.open-hours-dynamics .legend-box.historical{background:var(--ohd-series)}.open-hours-dynamics .legend-box.legacy{background:var(--ohd-legacy)}.open-hours-dynamics .legend-box.fu-only{background:var(--ohd-fu)}.open-hours-dynamics .legend-box.projected{background:var(--ohd-series);opacity:.5;position:relative}.open-hours-dynamics .legend-box.projected:after{background:repeating-linear-gradient(45deg,#0000,#0000 4px,#ffffff73 0,#ffffff73 8px);border-radius:4px;content:"";inset:0;position:absolute}.open-hours-dynamics .charts-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr;margin-bottom:20px}.open-hours-dynamics .chart-section{background-color:var(--ohd-surface);border:1px solid var(--ohd-hairline);border-radius:var(--ohd-radius);box-shadow:var(--ohd-shadow);max-width:100%;overflow:hidden;padding:20px 24px}.open-hours-dynamics .chart-section h2,.open-hours-dynamics .data-table-section h2{color:var(--ohd-ink);font-size:17px;font-weight:700;letter-spacing:-.01em;margin:0 0 16px}.open-hours-dynamics .chart{display:flex;gap:12px;max-width:100%;min-height:400px;overflow:hidden}.open-hours-dynamics .chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;min-width:48px;padding-bottom:30px}.open-hours-dynamics .y-label{font-feature-settings:"tnum";color:var(--ohd-muted);font-size:11px;font-variant-numeric:tabular-nums;text-align:right}.open-hours-dynamics .chart-content{border-left:1px solid var(--ohd-hairline);display:flex;flex:1 1;flex-direction:column;min-width:0;padding-left:12px;position:relative}.open-hours-dynamics .chart-bars{align-items:flex-end;display:flex;gap:6px;min-height:350px;overflow-x:auto;overflow-y:hidden;padding-bottom:50px;padding-right:10px;scrollbar-color:#cbd5e0 #0000;scrollbar-width:thin}.open-hours-dynamics .chart-bars::-webkit-scrollbar{height:8px}.open-hours-dynamics .chart-bars::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.open-hours-dynamics .bar-container{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;gap:8px;width:56px}.open-hours-dynamics .bar{align-items:flex-end;border-radius:4px 4px 0 0;cursor:pointer;display:flex;justify-content:center;min-height:4px;padding-bottom:5px;position:relative;transition:filter .15s;width:100%}.open-hours-dynamics .bar:hover{filter:brightness(.92)}.open-hours-dynamics .bar.selected{outline:2px solid var(--ohd-ink);outline-offset:2px}.open-hours-dynamics .bar-total{background:var(--ohd-series)}.open-hours-dynamics .bar.legacy{background:var(--ohd-legacy)}.open-hours-dynamics .bar.projected{opacity:.55;position:relative}.open-hours-dynamics .bar.projected:after{background:repeating-linear-gradient(45deg,#0000,#0000 8px,#ffffff59 0,#ffffff59 16px);border-radius:4px 4px 0 0;content:"";inset:0;pointer-events:none;position:absolute}.open-hours-dynamics .bar-fu-seg{background:var(--ohd-fu);border-radius:4px 4px 0 0;left:0;pointer-events:none;position:absolute;right:0;top:0}.open-hours-dynamics .bar.legacy .bar-fu-seg{background:#dde1ea}.open-hours-dynamics .bar.split{background:var(--ohd-series)}.open-hours-dynamics .bar-planned-seg{background:repeating-linear-gradient(45deg,#0000,#0000 6px,#ffffff59 0,#ffffff59 12px),#ffffff73;border-radius:4px 4px 0 0;left:0;pointer-events:none;position:absolute;right:0;top:0}.open-hours-dynamics .bar-value{font-feature-settings:"tnum";color:#fff;font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;text-shadow:0 1px 2px #00000040}.open-hours-dynamics .bar.legacy .bar-value{color:var(--ohd-ink-2);text-shadow:none}.open-hours-dynamics .bar-label{color:var(--ohd-muted);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}.open-hours-dynamics .scroll-hint{color:var(--ohd-muted);font-size:12px;margin-top:10px;text-align:center}.open-hours-dynamics .period-filter-badge{align-items:center;animation:ohd-slide-in .25s ease;background:var(--ohd-accent-soft);border:1px solid var(--ohd-accent);border-radius:10px;color:var(--ohd-ink);display:flex;font-size:14px;gap:16px;justify-content:space-between;margin-top:16px;padding:12px 18px}.open-hours-dynamics .period-summary{flex:1 1;font-size:14px;padding:0 16px;text-align:center}@keyframes ohd-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.open-hours-dynamics .clear-period-button{background:var(--ohd-surface);border:1px solid var(--ohd-hairline);border-radius:6px;color:var(--ohd-ink-2);cursor:pointer;font-size:14px;line-height:1;padding:4px 10px;transition:border-color .15s}.open-hours-dynamics .clear-period-button:hover{border-color:var(--ohd-accent);color:var(--ohd-ink)}.open-hours-dynamics .flow-chart-wrapper{overflow-x:auto;padding:8px 0}.open-hours-dynamics .flow-chart{align-items:stretch;display:flex;gap:4px;min-width:-webkit-min-content;min-width:min-content;padding:0 4px}.open-hours-dynamics .flow-col{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex:0 0 auto;flex-direction:column;padding:4px 2px 6px;transition:background .15s;width:48px}.open-hours-dynamics .flow-col:hover{background:var(--ohd-plane)}.open-hours-dynamics .flow-col.selected{background:var(--ohd-accent-soft);outline:1px solid var(--ohd-accent)}.open-hours-dynamics .flow-up-area{align-items:flex-end;display:flex;height:96px}.open-hours-dynamics .flow-down-area{align-items:flex-start;display:flex;height:96px}.open-hours-dynamics .flow-bar{border-radius:3px;width:20px}.open-hours-dynamics .flow-bar.up{background:var(--ohd-inflow);border-radius:4px 4px 0 0}.open-hours-dynamics .flow-bar.down{background:var(--ohd-outflow);border-radius:0 0 4px 4px}.open-hours-dynamics .flow-col.projected .flow-bar{opacity:.4}.open-hours-dynamics .flow-axis{background:var(--ohd-hairline);height:1px;margin:2px 0;width:100%}.open-hours-dynamics .flow-net{font-feature-settings:"tnum";font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;margin-top:4px}.open-hours-dynamics .flow-net.pos{color:var(--ohd-pos-text)}.open-hours-dynamics .flow-net.neg{color:var(--ohd-neg-text)}.open-hours-dynamics .flow-label{color:var(--ohd-muted);font-size:10px;margin-top:2px;white-space:nowrap}.open-hours-dynamics .delta-pos{color:var(--ohd-pos-text);font-weight:600}.open-hours-dynamics .delta-neg{color:var(--ohd-neg-text);font-weight:600}.open-hours-dynamics .id-hint{color:var(--ohd-muted);font-size:11px;font-weight:400}.open-hours-dynamics .flow-details-head{align-items:baseline;display:flex;gap:12px;margin:16px 0 12px}.open-hours-dynamics .flow-details-head h3{color:var(--ohd-ink);font-size:16px;font-weight:700;margin:0}.open-hours-dynamics .flow-details-sub{color:var(--ohd-ink-2);font-size:13px}.open-hours-dynamics .flow-panels{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.open-hours-dynamics .flow-panel{border:1px solid var(--ohd-hairline);border-radius:10px;overflow:hidden}.open-hours-dynamics .flow-panel-head{align-items:center;border-bottom:1px solid var(--ohd-hairline);display:flex;font-size:13px;font-weight:700;justify-content:space-between;padding:10px 14px}.open-hours-dynamics .flow-panel-head.inflow-head{background:#2a78d60f;color:var(--ohd-inflow)}.open-hours-dynamics .flow-panel-head.outflow-head{background:#e349480f;color:var(--ohd-outflow)}.open-hours-dynamics .flow-panel-total{font-feature-settings:"tnum";color:var(--ohd-ink-2);font-variant-numeric:tabular-nums;font-weight:600}.open-hours-dynamics .mover-row{grid-gap:10px;align-items:center;border-bottom:1px solid var(--ohd-grid);display:grid;gap:10px;grid-template-columns:minmax(140px,1.2fr) minmax(60px,1fr) auto;padding:8px 14px}.open-hours-dynamics .mover-row:last-of-type{border-bottom:none}.open-hours-dynamics .mover-name{color:var(--ohd-ink);font-size:13px;font-weight:500;margin-right:6px}.open-hours-dynamics .provider-link{border-bottom:1px dashed #0000;color:inherit;text-decoration:none;transition:color .15s,border-color .15s}.open-hours-dynamics .provider-link:hover{border-bottom-color:var(--ohd-accent);color:var(--ohd-accent)}.open-hours-dynamics .mover-note{color:var(--ohd-muted);font-size:11px;margin-top:1px}.open-hours-dynamics .fu-chip{background:#f3f0e3;border-radius:999px;color:#8a7a2e;cursor:help;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.03em;margin-left:6px;margin-top:3px;padding:1px 7px;text-transform:uppercase;white-space:nowrap}.open-hours-dynamics .summary-initials{border-top:1px dashed var(--ohd-grid);margin-top:4px;padding-top:4px}.open-hours-dynamics .driver-chip{background:var(--ohd-plane);border-radius:999px;color:var(--ohd-ink-2);display:inline-block;font-size:11px;font-weight:600;margin-top:3px;padding:1px 8px;white-space:nowrap}.open-hours-dynamics .driver-chip.driver-new,.open-hours-dynamics .driver-chip.driver-reopened{background:#2a78d61a;color:var(--ohd-inflow)}.open-hours-dynamics .driver-chip.driver-termination{background:#e349481f;color:var(--ohd-outflow)}.open-hours-dynamics .term-tag{margin-left:8px;vertical-align:1px}.open-hours-dynamics .driver-chip.driver-left{background:#e3494814;color:var(--ohd-neg-text)}.open-hours-dynamics .driver-chip.driver-closed{background:#fdf3e2;color:#9a6b15}.open-hours-dynamics .mover-track{background:var(--ohd-grid);border-radius:4px;height:8px;overflow:hidden}.open-hours-dynamics .mover-bar{border-radius:4px;display:block;height:100%}.open-hours-dynamics .mover-bar.pos{background:var(--ohd-inflow)}.open-hours-dynamics .mover-bar.neg{background:var(--ohd-outflow)}.open-hours-dynamics .mover-nums{font-feature-settings:"tnum";align-items:baseline;display:flex;font-variant-numeric:tabular-nums;gap:10px;justify-content:flex-end}.open-hours-dynamics .mover-range{color:var(--ohd-muted);font-size:12px;white-space:nowrap}.open-hours-dynamics .mover-delta{font-size:13px;font-weight:700;min-width:56px;text-align:right;white-space:nowrap}.open-hours-dynamics .mover-more{color:var(--ohd-muted);font-size:12px;padding:8px 14px}.open-hours-dynamics .mover-toggle{background:none;border:none;border-top:1px solid var(--ohd-grid);color:var(--ohd-accent);cursor:pointer;display:block;font-weight:600;text-align:center;transition:background .15s;width:100%}.open-hours-dynamics .mover-toggle:hover{background:var(--ohd-plane)}.open-hours-dynamics .data-table-section{background-color:var(--ohd-surface);border:1px solid var(--ohd-hairline);border-radius:var(--ohd-radius);box-shadow:var(--ohd-shadow);padding:20px 24px}.open-hours-dynamics .table-description{color:var(--ohd-ink-2);font-size:13px;margin:0 0 14px}.open-hours-dynamics .data-table-container{border:1px solid var(--ohd-grid);border-radius:10px;max-height:600px;overflow-x:auto;overflow-y:auto}.open-hours-dynamics .data-table{border-collapse:collapse;width:100%}.open-hours-dynamics .data-table thead{background-color:var(--ohd-plane);position:-webkit-sticky;position:sticky;top:0;z-index:10}.open-hours-dynamics .data-table th{border-bottom:1px solid var(--ohd-hairline);color:var(--ohd-muted);font-size:11px;font-weight:600;letter-spacing:.06em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.open-hours-dynamics .data-table td{border-bottom:1px solid var(--ohd-grid);font-size:13px;line-height:1.45;padding:10px 14px;vertical-align:middle}.open-hours-dynamics .data-table tbody tr:last-child td{border-bottom:none}.open-hours-dynamics .data-table tbody tr:hover{background-color:var(--ohd-plane)}.open-hours-dynamics .period-cell{color:var(--ohd-ink);font-weight:500}.open-hours-dynamics .number-cell{font-feature-settings:"tnum";color:var(--ohd-ink-2);font-variant-numeric:tabular-nums;text-align:right}.open-hours-dynamics .note-cell{color:var(--ohd-muted);font-size:12px}.open-hours-dynamics .providers-table{table-layout:fixed;width:100%}.open-hours-dynamics .providers-table th.th-left{text-align:left}.open-hours-dynamics .providers-table th.th-center{text-align:center}.open-hours-dynamics .providers-table th.th-right{text-align:right}.open-hours-dynamics .providers-table .id-cell{font-feature-settings:"tnum";color:var(--ohd-muted);font-size:13px;font-variant-numeric:tabular-nums;max-width:56px;width:56px}.open-hours-dynamics .providers-table .name-cell{color:var(--ohd-ink);font-weight:500;max-width:200px;min-width:160px;text-align:left}.open-hours-dynamics .providers-table .text-cell{color:var(--ohd-ink-2);max-width:180px;min-width:120px;text-align:left}.open-hours-dynamics .providers-table .center-cell{max-width:140px;text-align:center;width:140px}.open-hours-dynamics .providers-table .number-cell{max-width:110px;width:110px}.open-hours-dynamics .providers-table .highlight-cell{color:var(--ohd-ink);font-size:14px;font-weight:700}.open-hours-dynamics .providers-table .period-hours-cell{background-color:var(--ohd-accent-soft);color:var(--ohd-ink);font-size:14px;font-weight:700;max-width:110px;width:110px}.open-hours-dynamics .data-table th.sortable{cursor:pointer;transition:color .15s;-webkit-user-select:none;user-select:none}.open-hours-dynamics .data-table th.sortable:hover{color:var(--ohd-ink)}.open-hours-dynamics .sort-indicator{color:var(--ohd-accent);font-weight:700;margin-left:4px}.open-hours-dynamics .badge{border-radius:999px;display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;white-space:nowrap}.open-hours-dynamics .badge-yes{background-color:#e5f4ea;color:#1d7a3d}.open-hours-dynamics .badge-no{background-color:#f5f6f8;color:var(--ohd-muted)}.open-hours-dynamics .projected-indicator{color:var(--ohd-accent);font-size:12px;margin-left:5px}.open-hours-dynamics .projected-row{background-color:#fafaff}.open-hours-dynamics .anomaly-indicator{cursor:help}.open-hours-dynamics .data-table-section+.data-table-section{margin-top:20px}.open-hours-dynamics .filter-group-doctors{position:relative}.open-hours-dynamics .selected-count{color:var(--ohd-accent);font-weight:600;letter-spacing:0;text-transform:none}.open-hours-dynamics .doctor-filter-dropdown{min-width:200px;position:relative}.open-hours-dynamics .doctor-filter-toggle{background-color:var(--ohd-surface);border:1px solid var(--ohd-hairline);border-radius:8px;color:var(--ohd-ink);cursor:pointer;font-size:14px;padding:8px 32px 8px 12px;position:relative;text-align:left;transition:border-color .15s;width:100%}.open-hours-dynamics .doctor-filter-toggle:focus,.open-hours-dynamics .doctor-filter-toggle:hover{border-color:var(--ohd-accent);outline:none}.open-hours-dynamics .dropdown-arrow{color:var(--ohd-muted);font-size:11px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.open-hours-dynamics .doctor-filter-dropdown-content{background-color:var(--ohd-surface);border:1px solid var(--ohd-hairline);border-radius:10px;box-shadow:0 8px 24px #171c261f;display:flex;flex-direction:column;left:0;max-height:400px;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.open-hours-dynamics .dropdown-header{border-bottom:1px solid var(--ohd-grid);display:flex;gap:8px;padding:10px}.open-hours-dynamics .dropdown-header input{border:1px solid var(--ohd-hairline);border-radius:6px;flex:1 1;font-size:13px;padding:6px 10px}.open-hours-dynamics .dropdown-header input:focus{border-color:var(--ohd-accent);outline:none}.open-hours-dynamics .clear-mini-button{background-color:var(--ohd-surface);border:1px solid var(--ohd-hairline);border-radius:6px;color:var(--ohd-neg-text);cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:border-color .15s}.open-hours-dynamics .clear-mini-button:hover{border-color:var(--ohd-neg-text)}.open-hours-dynamics .doctors-dropdown-list{max-height:320px;overflow-y:auto;padding:6px}.open-hours-dynamics .doctor-checkbox-compact{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:6px 8px;transition:background-color .15s}.open-hours-dynamics .doctor-checkbox-compact:hover{background-color:var(--ohd-plane)}.open-hours-dynamics .doctor-checkbox-compact input[type=checkbox]{accent-color:var(--ohd-accent);cursor:pointer;height:15px;width:15px}.open-hours-dynamics .doctor-name-compact{align-items:center;color:var(--ohd-ink);display:flex;flex:1 1;font-size:13px;gap:6px}.open-hours-dynamics .initial-badge-mini{background-color:#e5f4ea;border-radius:3px;color:#1d7a3d;font-size:10px;font-weight:600;padding:1px 4px}.open-hours-dynamics .more-doctors-hint-mini{color:var(--ohd-muted);font-size:12px;padding:8px;text-align:center}@media (max-width:900px){.open-hours-dynamics .flow-panels{grid-template-columns:1fr}}@media (max-width:768px){.open-hours-dynamics .filters-container{align-items:stretch;flex-direction:column}.open-hours-dynamics .filter-group select{width:100%}.open-hours-dynamics .refresh-button{margin-left:0;width:100%}.open-hours-dynamics .chart{min-height:300px}.open-hours-dynamics .chart-bars{gap:4px}.open-hours-dynamics .bar-container{min-width:30px}.open-hours-dynamics .summary-cards{grid-template-columns:1fr}.open-hours-dynamics .mover-row{grid-template-columns:1fr auto}.open-hours-dynamics .mover-track{display:none}}.goals-report{--gr-surface:#fff;--gr-plane:#f6f7f9;--gr-ink:#171c26;--gr-ink-2:#4c5566;--gr-muted:#8a91a0;--gr-hairline:#e7e9ef;--gr-grid:#eef0f4;--gr-accent:#5a6acf;--gr-accent-deep:#4c5fd6;--gr-accent-soft:#eef0fb;--gr-below:#c2410c;--gr-below-soft:#fff1e8;--gr-below-fill:#ea8a5a;--gr-above:#1d4ed8;--gr-above-soft:#eaf0ff;--gr-above-fill:#6b8fe6;--gr-ok:#4c5566;--gr-ok-soft:#f0f1f4;--gr-ok-fill:#a8aebb;--gr-error:#b42318;--gr-radius:12px;--gr-shadow:0 1px 2px #171c260d,0 4px 16px #171c260d;color:var(--gr-ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;margin:0 auto;max-width:1600px;padding:24px}.goals-report,.goals-report *,.goals-report :after,.goals-report :before{box-sizing:border-box}.goals-report button{font-family:inherit}.goals-report .gr-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.goals-report .gr-header h1{color:var(--gr-ink);font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}.goals-report .gr-subtitle{color:var(--gr-ink-2);font-size:14px;margin:0}.goals-report .gr-freshness{color:var(--gr-muted);font-size:12px;margin-top:4px}.goals-report .gr-btn{background-color:var(--gr-accent);border:none;border-radius:8px;box-shadow:none;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:9px 16px;position:static;transition:background-color .15s}.goals-report .gr-btn:hover:not(:disabled){background-color:var(--gr-accent-deep)}.goals-report .gr-btn:disabled{cursor:default;opacity:.6}.goals-report .gr-link-btn{background:none;border:none;color:inherit;cursor:pointer;font-size:inherit;font-weight:600;margin-left:12px;padding:0;text-decoration:underline}.goals-report .gr-state-box{align-items:center;color:var(--gr-ink-2);display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:40px;text-align:center}.goals-report .gr-state-box h3{color:var(--gr-error);margin:0 0 8px}.goals-report .gr-state-box .gr-btn{margin-top:12px}.goals-report .gr-spinner{animation:gr-spin .9s linear infinite;border:3px solid var(--gr-grid);border-radius:50%;border-top-color:var(--gr-accent);height:44px;margin-bottom:20px;width:44px}@keyframes gr-spin{to{transform:rotate(1turn)}}.goals-report .gr-banner{border:1px solid var(--gr-hairline);border-radius:10px;font-size:13px;line-height:1.5;margin-bottom:16px;padding:12px 16px}.goals-report .gr-banner-muted{background:var(--gr-plane);color:var(--gr-ink-2)}.goals-report .gr-banner-muted strong{color:var(--gr-ink)}.goals-report .gr-banner-error{background:#fef3f2;border-color:#fecdca;color:var(--gr-error)}.goals-report .gr-toolbar{align-items:flex-end;background:var(--gr-surface);border:1px solid var(--gr-hairline);border-radius:var(--gr-radius);box-shadow:var(--gr-shadow);display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:14px 16px}.goals-report .gr-control{display:flex;flex-direction:column;gap:6px;min-width:0}.goals-report .gr-control-label{color:var(--gr-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.goals-report .gr-segmented{background:var(--gr-plane);border:1px solid var(--gr-hairline);border-radius:9px;display:inline-flex;padding:3px}.goals-report .gr-segmented button{background:#0000;border:none;border-radius:6px;color:var(--gr-ink-2);cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;white-space:nowrap}.goals-report .gr-segmented button.active{background:var(--gr-surface);box-shadow:0 1px 2px #171c2614;color:var(--gr-ink);font-weight:600}.goals-report .gr-segmented button:disabled{cursor:default;opacity:.6}.goals-report .gr-month-tabs{display:flex;flex-wrap:wrap;gap:6px}.goals-report .gr-month-tab{align-items:center;background:var(--gr-surface);border:1px solid var(--gr-hairline);border-radius:8px;color:var(--gr-ink-2);cursor:pointer;display:inline-flex;font-size:13px;gap:8px;padding:6px 10px;transition:border-color .15s}.goals-report .gr-month-tab:hover{border-color:var(--gr-accent)}.goals-report .gr-month-tab.active{background:var(--gr-accent-soft);border-color:var(--gr-accent);color:var(--gr-ink)}.goals-report .gr-month-name{font-weight:600}.goals-report .gr-status-chip{border-radius:999px;font-size:11px;font-weight:600;padding:1px 7px;white-space:nowrap}.goals-report .gr-status-past{background:var(--gr-ok-soft);color:var(--gr-ink-2)}.goals-report .gr-status-current{background:var(--gr-accent);color:#fff}.goals-report .gr-status-future{background:#0000;border:1px dashed var(--gr-ok-fill);color:var(--gr-muted)}.goals-report .gr-inline-loading{align-self:center;color:var(--gr-muted);font-size:12px}.goals-report .gr-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:20px}.goals-report .gr-card{background:var(--gr-surface);border:1px solid var(--gr-hairline);border-radius:var(--gr-radius);box-shadow:var(--gr-shadow);overflow:hidden;padding:18px 20px;position:relative}.goals-report .gr-card:before{background:var(--gr-accent);bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.goals-report .gr-card-below:before{background:var(--gr-below)}.goals-report .gr-card-above:before{background:var(--gr-above)}.goals-report .gr-card-ok:before{background:var(--gr-ok-fill)}.goals-report .gr-card-none:before{background:var(--gr-hairline)}.goals-report .gr-card h3{color:var(--gr-muted);font-size:11px;font-weight:600;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.goals-report .gr-card-value{font-feature-settings:"tnum";font-size:28px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;line-height:1;margin-bottom:6px;white-space:nowrap}.goals-report .gr-card-below .gr-card-value{color:var(--gr-below)}.goals-report .gr-card-above .gr-card-value{color:var(--gr-above)}.goals-report .gr-card-detail{font-feature-settings:"tnum";color:var(--gr-ink-2);font-size:13px;font-variant-numeric:tabular-nums;line-height:1.45}.goals-report .gr-card-sub{color:var(--gr-muted);font-size:12px;margin-top:4px}.goals-report .gr-table-section{background:var(--gr-surface);border:1px solid var(--gr-hairline);border-radius:var(--gr-radius);box-shadow:var(--gr-shadow);padding:20px 24px}.goals-report .gr-table-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;margin-bottom:14px}.goals-report .gr-table-desc{color:var(--gr-ink-2);font-size:13px;margin:0}.goals-report .gr-checkbox{align-items:center;color:var(--gr-ink-2);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;white-space:nowrap}.goals-report .gr-checkbox input{accent-color:var(--gr-accent);margin:0}.goals-report .gr-table-wrap{border:1px solid var(--gr-grid);border-radius:10px;max-height:70vh;overflow-x:auto;overflow-y:auto}.goals-report .gr-table{border-collapse:collapse;font-size:13px;width:100%}.goals-report .gr-table thead th{background:var(--gr-plane);border-bottom:1px solid var(--gr-hairline);color:var(--gr-muted);font-size:11px;font-weight:600;letter-spacing:.06em;padding:0;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;white-space:nowrap;z-index:2}.goals-report .gr-table thead th:not(.gr-sortable){padding:9px 12px}.goals-report .gr-table thead th button{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:4px;letter-spacing:inherit;padding:9px 12px;text-transform:inherit;width:100%}.goals-report .gr-table th.gr-th-right,.goals-report .gr-table th.gr-th-right button{justify-content:flex-end;text-align:right}.goals-report .gr-table th.gr-th-left,.goals-report .gr-table th.gr-th-left button{justify-content:flex-start;text-align:left}.goals-report .gr-table th.gr-sorted{color:var(--gr-ink)}.goals-report .gr-sort-ind{display:inline-block;font-size:8px;width:8px}.goals-report .gr-table td{border-bottom:1px solid var(--gr-grid);color:var(--gr-ink-2);line-height:1.4;padding:8px 12px;vertical-align:middle}.goals-report .gr-table tbody tr:hover td{background:var(--gr-plane)}.goals-report .gr-table tfoot td{background:var(--gr-plane);border-bottom:none;border-top:1px solid var(--gr-hairline);bottom:0;color:var(--gr-ink);font-weight:600;position:-webkit-sticky;position:sticky}.goals-report .gr-state-cell{color:var(--gr-ink);font-weight:600;white-space:nowrap}.goals-report .gr-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.goals-report .gr-muted{color:var(--gr-muted)}.goals-report .gr-delta{font-weight:600}.goals-report .gr-delta-below{color:var(--gr-below)}.goals-report .gr-delta-above{color:var(--gr-above)}.goals-report .gr-delta-ok{color:var(--gr-ok)}.goals-report .gr-delta-none{color:var(--gr-muted)}.goals-report .gr-need{color:var(--gr-below);font-weight:600}.goals-report .gr-pct{align-items:center;display:flex;gap:8px;min-width:130px}.goals-report .gr-pct-label{font-feature-settings:"tnum";flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600;text-align:right;width:40px}.goals-report .gr-pct-track{background:var(--gr-grid);border-radius:4px;flex:1 1;height:8px;min-width:70px;position:relative}.goals-report .gr-pct-fill{border-radius:4px;bottom:0;left:0;position:absolute;top:0}.goals-report .gr-fill-below{background:var(--gr-below-fill)}.goals-report .gr-fill-above{background:var(--gr-above-fill)}.goals-report .gr-fill-ok{background:var(--gr-ok-fill)}.goals-report .gr-fill-none{background:#0000}.goals-report .gr-pct-marker{background:var(--gr-ink);border-radius:1px;bottom:-3px;margin-left:-1px;position:absolute;top:-3px;width:2px}.goals-report .gr-rec{font-size:12px;line-height:1.35;min-width:200px}.goals-report .gr-rec-below{color:var(--gr-below);font-weight:600}.goals-report .gr-rec-above{color:var(--gr-above)}.goals-report .gr-rec-none,.goals-report .gr-rec-ok{color:var(--gr-muted)}.goals-report .gr-rec-muted{color:var(--gr-muted);font-style:italic;font-weight:400}.goals-report .gr-trend{display:flex;gap:4px}.goals-report .gr-trend-chip{font-feature-settings:"tnum";align-items:center;border:1px solid #0000;border-radius:6px;cursor:default;display:inline-flex;flex-direction:column;font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2;min-width:42px;padding:2px 5px}.goals-report button.gr-trend-chip{cursor:pointer}.goals-report .gr-trend-m{font-size:9px;font-weight:500;letter-spacing:.04em;opacity:.8;text-transform:uppercase}.goals-report .gr-chip-below{background:var(--gr-below-soft);color:var(--gr-below)}.goals-report .gr-chip-above{background:var(--gr-above-soft);color:var(--gr-above)}.goals-report .gr-chip-ok{background:var(--gr-ok-soft);color:var(--gr-ok)}.goals-report .gr-chip-none{background:#0000;border-color:var(--gr-hairline);border-style:dashed;color:var(--gr-muted)}.goals-report .gr-trend-chip.current{border-color:var(--gr-ink);border-style:solid}@media (max-width:768px){.goals-report{padding:16px}.goals-report .gr-header{flex-direction:column}.goals-report .gr-header .gr-btn{width:100%}.goals-report .gr-toolbar{align-items:stretch;flex-direction:column}.goals-report .gr-segmented{display:flex}.goals-report .gr-segmented button{flex:1 1}.goals-report .gr-cards{grid-template-columns:1fr 1fr}.goals-report .gr-table-section{padding:16px}}@media (max-width:480px){.goals-report .gr-cards{grid-template-columns:1fr}}.recent-changes{--rc-surface:#fff;--rc-plane:#f6f7f9;--rc-ink:#171c26;--rc-ink-2:#4c5566;--rc-muted:#8a91a0;--rc-hairline:#e7e9ef;--rc-grid:#eef0f4;--rc-accent:#5a6acf;--rc-accent-soft:#eef0fb;--rc-in:#2563eb;--rc-in-soft:#2563eb14;--rc-in-chip:#2563eb1a;--rc-out:#dc2626;--rc-out-soft:#dc26260f;--rc-out-chip:#dc26261a;--rc-warn-bg:#fdf3e2;--rc-warn-ink:#9a6b15;--rc-radius:12px;font-feature-settings:"tnum";background:var(--rc-plane);color:var(--rc-ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-variant-numeric:tabular-nums;margin:0 auto;max-width:1600px;min-height:100vh;padding:24px 24px 24px 88px}.recent-changes,.recent-changes *,.recent-changes :after,.recent-changes :before{box-sizing:border-box}.recent-changes .rc-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.recent-changes .rc-header h1{color:var(--rc-ink);font-size:24px;font-weight:700;margin:0 0 6px}.recent-changes .rc-subtitle{color:var(--rc-ink-2);font-size:13px;line-height:1.5;margin:0;max-width:820px}.recent-changes .rc-header-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.recent-changes .rc-computed{color:var(--rc-muted);font-size:12px;white-space:nowrap}.recent-changes .rc-btn{background:var(--rc-surface);border:1px solid var(--rc-hairline);border-radius:8px;color:var(--rc-ink);cursor:pointer;font-size:13px;font-weight:600;height:32px;padding:0 14px;transition:background .15s,border-color .15s}.recent-changes .rc-btn:hover:not(:disabled){border-color:var(--rc-accent);color:var(--rc-accent)}.recent-changes .rc-btn:disabled{cursor:default;opacity:.5}.recent-changes .rc-icon-btn{font-size:18px;line-height:1;padding:0;width:32px}.recent-changes .rc-controls{align-items:center;background:var(--rc-surface);border:1px solid var(--rc-hairline);border-radius:var(--rc-radius);display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px;padding:12px 16px}.recent-changes .rc-segmented{background:var(--rc-plane);border:1px solid var(--rc-hairline);border-radius:9px;display:inline-flex;padding:3px}.recent-changes .rc-segmented button{background:#0000;border:none;border-radius:6px;color:var(--rc-ink-2);cursor:pointer;font-size:13px;font-weight:600;height:28px;padding:0 14px}.recent-changes .rc-segmented button.active{background:var(--rc-surface);box-shadow:0 1px 2px #171c2614;color:var(--rc-accent)}.recent-changes .rc-segmented.small button{font-size:12px;height:24px;padding:0 10px}.recent-changes .rc-period-nav{align-items:center;display:flex;gap:6px}.recent-changes .rc-select{font-feature-settings:"tnum";background:var(--rc-surface);border:1px solid var(--rc-hairline);border-radius:8px;color:var(--rc-ink);font-size:13px;font-variant-numeric:tabular-nums;height:32px;min-width:200px;padding:0 10px}.recent-changes .rc-compared{color:var(--rc-ink-2);font-size:13px}.recent-changes .rc-compared strong{color:var(--rc-ink);font-weight:600}.recent-changes .rc-check{align-items:center;color:var(--rc-ink-2);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;white-space:nowrap}.recent-changes .rc-note{background:var(--rc-accent-soft);border:1px solid var(--rc-hairline);border-left:3px solid var(--rc-accent);border-radius:8px;color:var(--rc-ink-2)}.recent-changes .rc-error,.recent-changes .rc-note{font-size:13px;margin-bottom:12px;padding:10px 14px}.recent-changes .rc-error{align-items:center;background:var(--rc-out-soft);border:1px solid #dc262640;border-radius:8px;color:#991b1b;display:flex;gap:12px;justify-content:space-between}.recent-changes .rc-empty,.recent-changes .rc-loading{color:var(--rc-muted);font-size:14px;padding:40px 16px;text-align:center}.recent-changes .rc-content.is-loading{opacity:.55;pointer-events:none;transition:opacity .15s}.recent-changes .rc-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.recent-changes .rc-stat{background:var(--rc-surface);border:1px solid var(--rc-hairline);border-radius:var(--rc-radius);padding:14px 16px}.recent-changes .rc-stat-label{color:var(--rc-muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.recent-changes .rc-stat-value{color:var(--rc-ink);font-size:24px;font-weight:700;margin-top:6px}.recent-changes .rc-stat-sep{color:var(--rc-muted);font-weight:400}.recent-changes .in{color:var(--rc-in)}.recent-changes .out{color:var(--rc-out)}.recent-changes .rc-net.pos{color:var(--rc-in)}.recent-changes .rc-net.neg{color:var(--rc-out)}.recent-changes .rc-net.zero{color:var(--rc-muted)}.recent-changes .rc-card{background:var(--rc-surface);border:1px solid var(--rc-hairline);border-radius:var(--rc-radius);margin-bottom:12px;padding:16px;scroll-margin-top:16px}.recent-changes .rc-section-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.recent-changes .rc-detail-head h2,.recent-changes .rc-section-head h2{color:var(--rc-ink);font-size:16px;font-weight:700;margin:0}.recent-changes .rc-detail-sub,.recent-changes .rc-section-sub{color:var(--rc-muted);font-size:12px;margin-top:2px}.recent-changes .rc-div-list{display:flex;flex-direction:column}.recent-changes .rc-div-row{grid-gap:0 10px;align-items:center;background:#0000;border:none;border-radius:6px;color:inherit;cursor:pointer;display:grid;font:inherit;font-size:13px;gap:0 10px;grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 64px 64px;padding:5px 8px;text-align:left;width:100%}.recent-changes .rc-div-row.with-goal{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 64px 64px 56px}.recent-changes .rc-div-row:hover{background:var(--rc-plane)}.recent-changes .rc-div-row.selected{background:var(--rc-accent-soft);box-shadow:inset 3px 0 0 var(--rc-accent)}.recent-changes .rc-div-header{border-bottom:1px solid var(--rc-grid);border-radius:0;color:var(--rc-muted);cursor:default;font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.recent-changes .rc-div-header:hover{background:#0000}.recent-changes .rc-div-header .rc-div-side.left{justify-content:flex-end}.recent-changes .rc-div-header .rc-div-side.right{justify-content:flex-start}.recent-changes .rc-div-state{color:var(--rc-ink);font-weight:700}.recent-changes .rc-div-header .rc-div-state{color:var(--rc-muted);font-weight:600}.recent-changes .rc-div-side{align-items:center;display:flex;gap:6px;min-width:0}.recent-changes .rc-div-side.left{border-right:1px solid var(--rc-ink-2);padding-right:0}.recent-changes .rc-div-header .rc-div-side.left{border-right-color:#0000}.recent-changes .rc-div-track{display:flex;flex:1 1;height:12px;min-width:0}.recent-changes .rc-div-side.left .rc-div-track{justify-content:flex-end}.recent-changes .rc-div-side.right .rc-div-track{justify-content:flex-start}.recent-changes .rc-div-bar{display:block;height:100%}.recent-changes .rc-div-bar.out{background:var(--rc-out);border-radius:3px 0 0 3px}.recent-changes .rc-div-bar.in{background:var(--rc-in);border-radius:0 3px 3px 0}.recent-changes .rc-div-val{color:var(--rc-muted);flex-shrink:0;font-size:11px;min-width:40px}.recent-changes .rc-div-side.left .rc-div-val{text-align:right}.recent-changes .rc-div-num{text-align:right;white-space:nowrap}.recent-changes .rc-div-num.rc-net{font-weight:700}.recent-changes .rc-div-num.muted{color:var(--rc-ink-2)}.recent-changes .rc-div-num.under{color:var(--rc-warn-ink);font-weight:600}.recent-changes .rc-detail-head{margin-bottom:12px}.recent-changes .rc-detail-head .rc-net{font-weight:600}.recent-changes .rc-flow-panels{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.recent-changes .rc-flow-panel{border:1px solid var(--rc-hairline);border-radius:10px;min-width:0;overflow:hidden}.recent-changes .rc-flow-panel-head,.recent-changes .rc-hr-head{align-items:center;border-bottom:1px solid var(--rc-hairline);display:flex;font-size:13px;font-weight:700;justify-content:space-between;padding:10px 14px}.recent-changes .rc-flow-panel-head.in,.recent-changes .rc-hr-head.in{background:var(--rc-in-soft);color:var(--rc-in)}.recent-changes .rc-flow-panel-head.out,.recent-changes .rc-hr-head.out{background:var(--rc-out-soft);color:var(--rc-out)}.recent-changes .rc-flow-panel-total{color:var(--rc-ink-2);font-weight:600}.recent-changes .rc-mover-row{grid-gap:10px;align-items:center;border-bottom:1px solid var(--rc-grid);display:grid;gap:10px;grid-template-columns:minmax(140px,1.3fr) minmax(50px,1fr) auto;padding:8px 14px}.recent-changes .rc-mover-row:last-child{border-bottom:none}.recent-changes .rc-mover-info{min-width:0}.recent-changes .rc-mover-title{align-items:baseline;display:flex;flex-wrap:wrap;gap:6px}.recent-changes .rc-mover-name{color:var(--rc-ink);font-size:13px;font-weight:500}.recent-changes .rc-provider-link{border-bottom:1px dashed #0000;color:inherit;text-decoration:none;transition:color .15s,border-color .15s}.recent-changes .rc-provider-link:hover{border-bottom-color:var(--rc-accent);color:var(--rc-accent)}.recent-changes .rc-id-hint{color:var(--rc-muted);font-size:11px}.recent-changes .rc-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.recent-changes .rc-chip{background:var(--rc-plane);border:1px solid #0000;border-radius:999px;color:var(--rc-ink-2);cursor:help;display:inline-block;font-size:11px;font-weight:600;padding:1px 8px;white-space:nowrap}.recent-changes .rc-chip.chip-warm{background:var(--rc-out-chip);color:#b91c1c}.recent-changes .rc-chip.chip-cool{background:var(--rc-in-chip);color:#1d4ed8}.recent-changes .rc-chip.chip-mix{background:#0000;border:1px dashed #c2c7d4;color:var(--rc-muted)}.recent-changes .rc-chip.chip-subtle{background:var(--rc-plane);color:var(--rc-ink-2);font-weight:500}.recent-changes .rc-chip.chip-up{color:#3b5bab}.recent-changes .rc-chip.chip-down{color:#a04848}.recent-changes .rc-mover-track{background:var(--rc-grid);border-radius:4px;height:8px;overflow:hidden}.recent-changes .rc-mover-bar{border-radius:4px;display:block;height:100%}.recent-changes .rc-mover-bar.in{background:var(--rc-in)}.recent-changes .rc-mover-bar.out{background:var(--rc-out)}.recent-changes .rc-mover-nums{align-items:baseline;display:flex;gap:10px;justify-content:flex-end}.recent-changes .rc-mover-range{color:var(--rc-muted);font-size:12px;white-space:nowrap}.recent-changes .rc-mover-delta{font-size:13px;font-weight:700;min-width:64px;text-align:right;white-space:nowrap}.recent-changes .rc-mover-delta.in{color:var(--rc-in)}.recent-changes .rc-mover-delta.out{color:var(--rc-out)}.recent-changes .rc-mover-empty{color:var(--rc-muted);font-size:12px;padding:10px 14px}.recent-changes .rc-mover-toggle{background:none;border:none;border-top:1px solid var(--rc-grid);color:var(--rc-accent);cursor:pointer;display:block;font-size:12px;font-weight:600;padding:8px 14px;text-align:center;width:100%}.recent-changes .rc-mover-toggle:hover{background:var(--rc-plane)}.recent-changes .rc-hr-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.recent-changes .rc-hr-list{border:1px solid var(--rc-hairline);border-radius:10px;min-width:0;overflow:hidden}.recent-changes .rc-hr-row{grid-gap:10px;align-items:start;border-bottom:1px solid var(--rc-grid);display:grid;gap:10px;grid-template-columns:56px minmax(0,1fr);padding:8px 14px}.recent-changes .rc-hr-row:last-child{border-bottom:none}.recent-changes .rc-hr-date{padding-top:1px}.recent-changes .rc-hr-date,.recent-changes .rc-hr-total{color:var(--rc-ink-2);font-size:12px;font-weight:600;white-space:nowrap}.recent-changes .rc-hr-total{margin-left:auto}.recent-changes .rc-hr-note{color:var(--rc-muted);font-size:11px;margin-top:2px}.recent-changes .rc-state-chip{background:var(--rc-plane);color:var(--rc-ink-2);cursor:default}.recent-changes .rc-state-chip.hl{background:var(--rc-accent-soft);border-color:var(--rc-accent);color:var(--rc-accent)}@media (max-width:1000px){.recent-changes .rc-flow-panels,.recent-changes .rc-hr-grid{grid-template-columns:1fr}.recent-changes .rc-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.recent-changes{padding:16px 16px 16px 72px}.recent-changes .rc-header{flex-direction:column}.recent-changes .rc-controls{align-items:stretch;flex-direction:column}.recent-changes .rc-period-nav .rc-select{flex:1 1;min-width:0}.recent-changes .rc-div-row,.recent-changes .rc-div-row.with-goal{grid-template-columns:36px minmax(0,1fr) minmax(0,1fr) 52px}.recent-changes .rc-div-row>.rc-div-num:nth-child(n+5),.recent-changes .rc-div-val{display:none}.recent-changes .rc-mover-row{grid-template-columns:minmax(0,1fr) auto}.recent-changes .rc-mover-track{display:none}}@media (max-width:480px){.recent-changes .rc-summary{grid-template-columns:1fr}}.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}.retry-button{font-weight:500}.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;letter-spacing:.05em;text-transform:uppercase}.refresh-button,.stat-label{font-weight:500}.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 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}}.slots-heatmap-page{background-color:#f8fafc;margin:0 auto;max-width:1600px;min-height:100vh;padding:20px 20px 20px 100px}.slots-heatmap-header{margin-bottom:20px;text-align:center}.slots-heatmap-header h1{color:#1a202c;font-size:2.5rem;font-weight:700;margin-bottom:8px}.slots-heatmap-header p{color:#64748b;font-size:1.1rem;margin:0}.week-navigation{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;margin-bottom:16px;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}.filters-panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:16px;padding:16px 20px}.filters-row{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:repeat(6,minmax(140px,1fr))}.filter label{color:#6b7280;display:block;font-size:.8rem;font-weight:600;margin-bottom:6px}.filter input,.filter select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;padding:8px 10px;width:100%}.filters-hint{color:#64748b;font-size:.9rem;margin-top:12px}.heatmap-note{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;color:#475569;font-size:.85rem;margin-top:10px;padding:10px 12px}.states-heatmaps{display:flex;flex-direction:column;gap:8px}.state-panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.state-summary{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;-webkit-user-select:none;user-select:none}.state-summary-left{align-items:baseline;display:flex;gap:12px}.state-code{color:#111827;font-size:1.05rem;font-weight:800}.state-totals{color:#6b7280;font-size:.8rem;font-weight:600}.state-summary-right{color:#6b7280;font-size:.85rem;font-weight:600}.heatmap-table-container{overflow-x:auto}.heatmap-table{border-collapse:collapse;font-size:.78rem;width:100%}.heatmap-table th{background:#fff;border-bottom:1px solid #e5e7eb;color:#374151;font-weight:700;padding:8px 10px;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:1}.heatmap-table td{font-feature-settings:"tnum";border-bottom:1px solid #f3f4f6;font-variant-numeric:tabular-nums;padding:6px 8px;text-align:center}.heatmap-table .time-col{background:#fff;color:#374151;font-weight:700;left:0;min-width:64px;position:-webkit-sticky;position:sticky;text-align:left;z-index:2}.heatmap-table .cell{font-weight:600;min-width:44px}.heatmap-table .date-col{min-width:88px;text-align:left}.heatmap-table .time-header{min-width:48px}.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:600;gap:8px;padding:12px 20px;position:fixed;right:20px;top:20px;transition:background-color .2s}.refresh-button:hover{background-color:#2563eb}.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:600;margin-top:16px;padding:10px 20px}.retry-button:hover{background-color:#2563eb}.no-data{color:#6b7280;padding:60px 20px;text-align:center}.no-data-icon{font-size:3rem;margin-bottom:16px}@media (max-width:1200px){.filters-row{grid-template-columns:repeat(3,minmax(160px,1fr))}}@media (max-width:768px){.slots-heatmap-page{padding:16px 16px 16px 80px}.filters-row{grid-template-columns:repeat(2,minmax(160px,1fr))}}.attendance-page{--att-bg:#fbfbfa;--att-panel:#fff;--att-ink:#1f1e1c;--att-muted:#6b6862;--att-line:#e6e3dd;--att-bad:#c0392b;--att-warn:#b7791f;--att-ok:#2d7a4f;--att-accent:#3c5c9c;--att-bad-bg:#fdeceb;--att-warn-bg:#fdf5e4;--att-ok-bg:#eaf5ee;--att-muted-bg:#f1efec;background:var(--att-bg);color:var(--att-ink);font-size:15px;line-height:1.55;min-height:100vh;padding:24px 28px 60px 100px;text-align:left}.attendance-page table{background:#0000;box-shadow:none;margin:0}.attendance-page thead{background:#0000;color:inherit}.attendance-header{margin-bottom:20px}.attendance-header h1{font-size:26px;letter-spacing:-.02em;margin:0 0 6px}.attendance-sub{color:var(--att-muted);font-size:14px;margin:0}.attendance-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}.attendance-tab{background:var(--att-panel);border:1px solid var(--att-line);border-radius:8px;color:var(--att-muted);cursor:pointer;font-size:13.5px;font-weight:500;padding:7px 14px;text-decoration:none}.attendance-tab:hover{border-color:#d6d2ca;color:var(--att-ink)}.attendance-tab.active{background:var(--att-ink);border-color:var(--att-ink);color:#fff}.att-stat-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.att-stat{background:var(--att-panel);border:1px solid var(--att-line);border-radius:10px;padding:14px 16px}.att-stat .n{font-feature-settings:"tnum";font-size:26px;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:-.02em}.att-stat .l{color:var(--att-muted);font-size:12.5px;margin-top:2px}.att-stat.accent .n{color:var(--att-accent)}.att-panel{background:var(--att-panel);border:1px solid var(--att-line);border-radius:10px;overflow:hidden}.att-panel-head{align-items:center;border-bottom:1px solid var(--att-line);display:flex;gap:10px;padding:13px 16px}.att-panel-head h2{font-size:15px;letter-spacing:-.01em;margin:0}.att-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.att-table{border-collapse:collapse;font-size:14px;width:100%}.att-table td,.att-table th{border-bottom:1px solid var(--att-line);padding:9px 12px;text-align:left;white-space:nowrap}.att-table th{color:var(--att-muted);font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.att-table tr:last-child td{border-bottom:none}.att-table td.num,.att-table th.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.att-table tbody tr:hover{background:#faf9f7}.att-table tr.picked{background:var(--att-ok-bg)}.att-badge{border-radius:20px;display:inline-block;font-size:12px;padding:2.5px 8px;white-space:nowrap}.att-badge.bad{background:var(--att-bad-bg);color:var(--att-bad)}.att-badge.warn{background:var(--att-warn-bg);color:var(--att-warn)}.att-badge.ok{background:var(--att-ok-bg);color:var(--att-ok)}.att-badge.muted{color:var(--att-muted)}.att-badge.muted,.att-chip{background:var(--att-muted-bg)}.att-chip{font-feature-settings:"tnum";border-radius:6px;display:inline-block;font-size:12.5px;font-variant-numeric:tabular-nums;padding:3px 8px}.att-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.att-note{background:var(--att-panel);border:1px solid var(--att-line);border-left:3px solid var(--att-accent);border-radius:8px;font-size:14px;margin:14px 0;padding:13px 16px}.att-note.warn{border-left-color:var(--att-warn)}.att-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.att-muted{color:var(--att-muted)}.att-link{color:var(--att-accent);text-decoration:none}.att-link:hover{text-decoration:underline}.att-empty,.att-error,.att-loading{background:var(--att-panel);border:1px solid var(--att-line);border-radius:10px;color:var(--att-muted);padding:48px 24px;text-align:center}.att-error{border-left:3px solid var(--att-bad);text-align:left}.att-empty-icon{display:block;font-size:32px;margin-bottom:10px}.att-spinner{animation:att-spin .9s linear infinite;border:3px solid var(--att-line);border-radius:50%;border-top-color:var(--att-accent);height:28px;margin:0 auto 12px;width:28px}@keyframes att-spin{to{transform:rotate(1turn)}}.att-retry{background:var(--att-panel);border:1px solid var(--att-line);border-radius:8px;color:var(--att-ink);cursor:pointer;font-size:13.5px;margin-top:12px;padding:7px 14px}@media (max-width:768px){.attendance-page{padding:20px 14px 60px 80px}}.attendance-page .att-header-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.attendance-page .att-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;padding-top:4px}.attendance-page .att-updated{font-feature-settings:"tnum";align-items:center;display:inline-flex;font-size:13px;font-variant-numeric:tabular-nums;gap:6px}.attendance-page .att-auto{font-size:12px}.attendance-page .att-dot{animation:att-pulse 1s ease-in-out infinite;background:var(--att-accent);border-radius:50%;height:7px;width:7px}@keyframes att-pulse{0%,to{opacity:.25}50%{opacity:1}}.attendance-page .att-refresh{align-items:center;background:var(--att-panel);border:1px solid var(--att-line);border-radius:8px;color:var(--att-ink);cursor:pointer;display:inline-flex;font-size:13.5px;gap:6px;padding:7px 13px}.attendance-page .att-refresh:hover:not(:disabled){background:#faf9f7;border-color:#d6d2ca}.attendance-page .att-refresh:disabled{cursor:default;opacity:.55}.attendance-page .att-cases{margin-top:18px}.attendance-page .att-panel-hint{font-size:12.5px;margin-left:auto}.attendance-page .att-cases .att-empty{border:none;border-radius:0}.attendance-page .att-case-row{cursor:pointer}.attendance-page .att-case-row:focus-visible{outline:2px solid var(--att-accent);outline-offset:-2px}.attendance-page .att-caret-col{padding-right:0;width:26px}.attendance-page .att-caret{color:var(--att-muted);display:inline-block;font-size:9px;transition:transform .12s ease-in-out}.attendance-page .att-caret.open{transform:rotate(90deg)}.attendance-page .att-ago{font-size:12.5px}.attendance-page .att-ahead{color:var(--att-accent);font-weight:600}.attendance-page .att-detail-row td{background:#faf9f7;padding:0;white-space:normal}.attendance-page .att-detail{grid-gap:22px;display:grid;gap:22px;grid-template-columns:minmax(280px,1.2fr) minmax(240px,1fr);padding:14px 16px 16px 38px}.attendance-page .att-detail-block h4{color:var(--att-muted);font-size:12.5px;font-weight:600;letter-spacing:.04em;margin:0 0 8px;text-transform:uppercase}.attendance-page .att-miss-list{list-style:none;margin:0;padding:0}.attendance-page .att-miss-list li{grid-gap:10px;align-items:center;display:grid;font-size:13.5px;gap:10px;grid-template-columns:72px minmax(140px,1.2fr) 150px minmax(200px,1.6fr);padding:4px 0}.attendance-page .att-miss-time{color:var(--att-muted);min-width:72px}.attendance-page .att-miss-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:900px){.attendance-page .att-detail{gap:16px;grid-template-columns:1fr;padding-left:16px}}.attendance-page .att-closed{margin-top:18px}.attendance-page .att-closed .att-panel-head h2{color:var(--att-muted)}.attendance-page .att-closed-note{font-size:13px}.attendance-page .att-closed .att-table th{font-size:12px}.attendance-page .att-closed-outcome{margin-right:6px;white-space:nowrap}.attendance-page .att-detail-wide{grid-column:1/-1}.attendance-page .att-miss-tail{font-size:12.5px;text-align:right}.attendance-page .att-closed .att-row-clickable{cursor:pointer}.attendance-page .att-day-summary{font-size:12.5px;margin-bottom:8px}.attendance-page .att-day-recovered{color:var(--att-ok)}.attendance-page .att-day-list{list-style:none;margin:0;padding:0}.attendance-page .att-day-list li{grid-gap:10px;align-items:center;border-bottom:1px solid #f2efea;display:grid;font-size:13.5px;gap:10px;grid-template-columns:72px minmax(140px,1.2fr) 220px minmax(180px,1.4fr);padding:4px 0}.attendance-page .att-day-list li:last-child{border-bottom:none}.attendance-page .att-day-list li.flagged{background:#fdf7f2}.attcase-back{font-size:13.5px;margin-bottom:10px}.attcase-header{margin-bottom:18px}.attcase-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}.attcase-title-row h1{margin:0}.attcase-provider-link{border-bottom:2px solid var(--att-line);color:inherit;text-decoration:none}.attcase-provider-link:hover{border-bottom-color:var(--att-accent);color:var(--att-accent)}.attcase-dryrun{background:#eef2fa;border:1px dashed var(--att-accent);border-radius:20px;color:var(--att-accent);display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.01em;padding:3px 10px}.attcase-esc-note{margin-top:12px}.attcase-stats{margin-bottom:20px}.att-stat .n.small{font-size:18px;font-weight:600}.attcase-daypanel{margin-bottom:26px}.attcase-daypanel-body{padding:18px 16px 14px}.attcase-head-right{align-items:center;color:var(--att-muted);display:flex;font-size:12.5px;gap:6px;margin-left:auto}.attcase-ribbon-wrap{padding-top:16px;position:relative}.attcase-ribbon{background:var(--att-muted-bg);border:1px solid var(--att-line);border-radius:6px;display:flex;height:26px;overflow:hidden;position:relative;width:100%}.attcase-seg{height:100%;min-width:1px}.attcase-seg.offline{background:#e0645a}.attcase-seg.online{background:#e4b04a}.attcase-seg.oncall{background:#4a9b6e}.attcase-seg.unknown{background:#d8d4cd}.attcase-seg:hover{filter:brightness(1.08)}.attcase-ribbon-marker{bottom:0;pointer-events:auto;position:absolute;top:0;width:0;z-index:2}.attcase-ribbon-marker i{background:var(--att-ink);bottom:0;left:-1px;position:absolute;top:0;width:2px}.attcase-ribbon-marker span{font-size:11px;left:-7px;line-height:1;position:absolute;top:-15px}.attcase-ribbon-marker.fire i{background:var(--att-bad)}.attcase-ribbon-marker.sched i{background:var(--att-accent)}.attcase-ribbon-marker.wait i{background:var(--att-warn)}.attcase-ribbon-marker.joined i{background:var(--att-ok)}.attcase-ribbon-marker.escalated i{background:var(--att-ink)}.attcase-axis{height:18px;margin-top:3px;position:relative}.attcase-tick{transform:translateX(-50%);white-space:nowrap}.attcase-axis-end,.attcase-tick{font-feature-settings:"tnum";color:var(--att-muted);font-size:11px;font-variant-numeric:tabular-nums;position:absolute;top:0}.attcase-axis-end.left{left:0}.attcase-axis-end.right{right:0}.attcase-ribbon-empty{border:1px dashed var(--att-line);border-radius:6px;color:var(--att-muted);font-size:13px;padding:12px 14px}.attcase-legend{color:var(--att-muted);display:flex;flex-wrap:wrap;font-size:12.5px;gap:14px;margin-top:12px}.attcase-legend-item{align-items:center;display:inline-flex;gap:6px}.attcase-swatch{border-radius:3px;display:inline-block;height:12px;width:12px}.attcase-swatch.offline{background:#e0645a}.attcase-swatch.online{background:#e4b04a}.attcase-swatch.oncall{background:#4a9b6e}.attcase-swatch.unknown{background:#d8d4cd}.attcase-axis-note{color:var(--att-muted);font-size:12.5px;line-height:1.5;margin:12px 0 0}.attcase-misses-head{align-items:center;display:flex;gap:12px;margin:0 0 12px}.attcase-misses-head h2{font-size:17px;letter-spacing:-.01em;margin:0}.attcase-expand{margin-left:auto;margin-top:0}.attcase-miss{margin-bottom:14px}.attcase-miss-head{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;gap:12px;padding:12px 16px;text-align:left;width:100%}.attcase-miss-head:hover{background:#faf9f7}.attcase-miss.open .attcase-miss-head{border-bottom:1px solid var(--att-line)}.attcase-miss-caret{color:var(--att-muted);font-size:12px;width:12px}.attcase-miss-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:650;min-width:78px}.attcase-miss-name{font-weight:550}.attcase-miss-meta{font-size:12.5px;margin-left:auto;white-space:nowrap}.attcase-miss-body{padding:16px}.attcase-outcome-line{background:var(--att-muted-bg);border-radius:8px;font-size:14px;line-height:1.55;margin:0 0 16px;padding:11px 14px}.attcase-blocks{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.attcase-block{min-width:0}.attcase-block-head{color:var(--att-muted);font-size:13px;font-weight:650;letter-spacing:.05em;margin:0 0 6px;text-transform:uppercase}.attcase-block-sub{color:var(--att-muted);font-size:12.5px;line-height:1.5;margin:0 0 10px}.attcase-inline-dot{border-radius:50%;display:inline-block;height:9px;vertical-align:middle;width:9px}.attcase-subhead{color:var(--att-muted);font-size:12.5px;letter-spacing:.04em;margin:14px 0 6px;text-transform:uppercase}.attcase-timeline{border-left:2px solid var(--att-line);list-style:none;margin:0 0 0 5px;max-height:560px;overflow-y:auto;padding:4px 0 4px 6px;position:relative}.attcase-tl-row{align-items:baseline;border-radius:5px;display:flex;font-size:13px;gap:9px;padding:3px 4px 3px 14px;position:relative}.attcase-tl-row:hover{background:#faf9f7}.attcase-tl-dot{border:2px solid var(--att-panel);border-radius:50%;box-sizing:initial;height:9px;left:-6px;position:absolute;top:8px;width:9px}.attcase-inline-dot.actor-patient,.attcase-tl-dot.actor-patient{background:#3c5c9c}.attcase-inline-dot.actor-provider,.attcase-tl-dot.actor-provider{background:#2d7a4f}.attcase-inline-dot.actor-system,.attcase-tl-dot.actor-system{background:#9a958c}.attcase-tl-dot.fire{background:var(--att-bad);height:11px;left:-7px;width:11px}.attcase-tl-time{color:var(--att-muted);font-size:12px;min-width:74px;white-space:nowrap}.attcase-tl-body{flex:1 1;min-width:0}.attcase-tl-text{display:inline}.attcase-tl-icon{margin-right:2px}.attcase-tl-offset{color:var(--att-muted);font-size:11.5px;white-space:nowrap}.attcase-tl-row.fire{color:var(--att-bad);font-weight:650}.attcase-tl-row.fire,.attcase-tl-row.fire:hover{background:var(--att-bad-bg)}.attcase-tl-row.fire .attcase-tl-offset,.attcase-tl-row.fire .attcase-tl-time{color:var(--att-bad)}.attcase-tl-row.scheduled{background:#eef2fa;color:var(--att-accent);font-weight:600}.attcase-tl-row.scheduled:hover{background:#eef2fa}.attcase-tl-row.alerted,.attcase-tl-row.scheduled .attcase-tl-offset,.attcase-tl-row.scheduled .attcase-tl-time{color:var(--att-accent)}.attcase-tl-silence{align-items:center;color:var(--att-warn);display:flex;font-size:12.5px;gap:8px;padding:5px 4px 5px 14px;position:relative}.attcase-tl-silence .attcase-tl-gapline{background:repeating-linear-gradient(to bottom,var(--att-warn) 0 3px,#0000 3px 7px);bottom:0;left:-2px;position:absolute;top:0;width:2px}.attcase-tl-silence.to-fire{font-weight:650}.attcase-tl-silence.to-fire .attcase-tl-gapline{background:repeating-linear-gradient(to bottom,var(--att-bad) 0 3px,#0000 3px 7px)}.attcase-tl-silence.to-fire .attcase-tl-gaptext{color:var(--att-bad)}.attcase-raw{background:var(--att-muted-bg);border-radius:4px;color:var(--att-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;margin-left:6px;padding:1px 5px;white-space:nowrap}.attcase-rule{background:var(--att-panel);border:1px solid var(--att-line);border-left:3px solid var(--att-accent);border-radius:8px;font-size:13px;line-height:1.55;margin:0 0 10px;padding:10px 13px}.attcase-rule-math{align-items:center;display:flex;flex-wrap:wrap;font-size:12.5px;gap:7px;margin-bottom:12px}.attcase-rule-math .att-chip.strong{background:var(--att-bad-bg);color:var(--att-bad);font-weight:650}.attcase-vs{color:var(--att-muted);font-size:12px}.attcase-conditions{list-style:none;margin:0 0 12px;padding:0}.attcase-conditions li{align-items:baseline;border-bottom:1px dashed var(--att-line);display:flex;flex-wrap:wrap;font-size:13px;gap:8px;padding:6px 0}.attcase-conditions li:last-child{border-bottom:none}.attcase-cond-mark{font-size:12px}.attcase-cond-text{flex:1 1 200px;min-width:0}.attcase-cond-actual{background:var(--att-muted-bg);border-radius:4px;color:var(--att-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;padding:2px 6px;word-break:break-word}.attcase-conditions li.failed .attcase-cond-text{color:var(--att-bad)}.attcase-kv{grid-gap:0;display:grid;font-size:12.5px;gap:0;grid-template-columns:minmax(0,1fr);margin:0}.attcase-kv>div{border-bottom:1px dashed var(--att-line);display:flex;gap:10px;padding:4px 0}.attcase-kv>div:last-child{border-bottom:none}.attcase-kv dt{color:var(--att-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;min-width:168px}.attcase-kv dd{flex:1 1;margin:0;min-width:0;word-break:break-word}.attcase-crm-headline{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.attcase-crm-note{color:var(--att-muted);font-size:12.5px;line-height:1.5;margin:10px 0 0}.attcase-fees td,.attcase-fees th{font-size:12.5px}.attcase-empty-line{border:1px dashed var(--att-line);border-radius:6px;color:var(--att-muted);font-size:12.5px;padding:10px 12px}.attcase-audit,.attcase-remaining{margin-top:22px}.attcase-remaining-body{padding:14px 16px}.attcase-audit-detail{min-width:240px;white-space:normal}.attcase-footnote{font-size:12px;margin-top:22px}@media (max-width:1100px){.attcase-blocks{grid-template-columns:minmax(0,1fr)}}@media (max-width:768px){.attcase-miss-meta{display:none}.attcase-kv dt{min-width:120px}.attcase-tl-offset{display:none}}.attendance-page .attcase-outside{background:#fcfbf9;border:1px dashed var(--att-line);border-radius:8px;margin:0 0 10px}.attendance-page .attcase-outside-toggle{background:none;border:0;color:var(--att-ink);cursor:pointer;font-size:12.5px;padding:8px 11px;text-align:left;width:100%}.attendance-page .attcase-outside-list{font-size:12.5px;list-style:none;margin:0;padding:0 11px 10px}.attendance-page .attcase-outside-list li{padding:3px 0}.attendance-page .attcase-outside-list code{background:var(--att-muted-bg);border-radius:4px;font-size:11.5px;padding:1px 5px}.ath-header-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.ath-header-row .attendance-sub{max-width:780px}.ath-days{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:6px}.ath-day-btn{font-feature-settings:"tnum";background:var(--att-panel);border:1px solid var(--att-line);border-radius:8px;color:var(--att-muted);cursor:pointer;font-size:13.5px;font-variant-numeric:tabular-nums;padding:6px 12px}.ath-day-btn:hover:not(:disabled){border-color:#d6d2ca;color:var(--att-ink)}.ath-day-btn.active{background:var(--att-ink);border-color:var(--att-ink);color:#fff}.ath-day-btn:disabled{cursor:default;opacity:.5}.ath-recomputing{animation:ath-pulse 1.2s ease-in-out infinite;background:#eef2fa;border-radius:20px;color:var(--att-accent);font-size:12.5px;padding:3px 9px}@keyframes ath-pulse{0%,to{opacity:1}50%{opacity:.45}}.ath-section-head{align-items:center;display:flex;gap:10px;margin:22px 0 10px}.ath-section-head h2{font-size:15px;letter-spacing:-.01em;margin:0}.ath-strip-note{font-size:13px;margin:10px 0 0;max-width:900px}.ath-panel-gap{margin-top:22px}.ath-panel-body{padding:16px}.ath-lede{font-size:13.5px;margin:0 0 14px;max-width:860px}.ath-foot{font-size:13px;margin:22px 0 0;max-width:940px}.ath-slider-panel{margin-top:22px}.ath-slider-body{padding:18px 16px 6px}.ath-slider-read{align-items:baseline;display:flex;flex-wrap:wrap;gap:16px}.ath-slider-value{font-size:40px;font-weight:650;letter-spacing:-.03em;line-height:1}.ath-slider-value small{color:var(--att-muted);font-size:15px;font-weight:500;margin-left:6px}.ath-slider-vs{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:10px}.ath-reset{background:var(--att-panel);border:1px solid var(--att-line);border-radius:7px;color:var(--att-muted);cursor:pointer;font-size:12.5px;padding:3px 9px}.ath-reset:hover{border-color:#d6d2ca;color:var(--att-ink)}.ath-slider-track{margin:18px 2px 6px}.ath-slider{-webkit-appearance:none;appearance:none;background:var(--att-muted-bg);border-radius:4px;cursor:pointer;height:6px;outline:none;width:100%}.ath-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--att-accent);border:3px solid #fff;border-radius:50%;box-shadow:0 1px 4px #1f1e1c47;cursor:grab;height:22px;width:22px}.ath-slider::-webkit-slider-thumb:active{cursor:grabbing}.ath-slider::-moz-range-thumb{background:var(--att-accent);border:3px solid #fff;border-radius:50%;box-shadow:0 1px 4px #1f1e1c47;cursor:grab;height:18px;width:18px}.ath-slider:focus-visible{box-shadow:0 0 0 3px #dbe3f3}.ath-ticks{display:flex;justify-content:space-between;margin-top:8px}.ath-tick{font-feature-settings:"tnum";background:none;border:none;border-radius:6px;color:var(--att-muted);cursor:pointer;font-size:12.5px;font-variant-numeric:tabular-nums;min-width:30px;padding:3px 6px;position:relative}.ath-tick:hover{background:var(--att-muted-bg);color:var(--att-ink)}.ath-tick.on{color:var(--att-accent);font-weight:650}.ath-tick.deployed{color:var(--att-ink);font-weight:600}.ath-tick.deployed.on{color:var(--att-accent)}.ath-tick-dot{background:var(--att-ink);border-radius:50%;bottom:-6px;height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}.ath-selected-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:22px}.ath-mini{background:var(--att-bg);border:1px solid var(--att-line);border-radius:9px;padding:10px 12px}.ath-mini span{display:block;font-size:21px;font-weight:650;letter-spacing:-.02em}.ath-mini small{color:var(--att-muted);display:block;font-size:12px;line-height:1.35;margin-top:2px}.ath-mini.bad span{color:var(--att-bad)}.ath-mini.warn span{color:var(--att-warn)}.ath-mini.ok span{color:var(--att-ok)}.ath-mini.muted span{color:var(--att-muted)}.ath-stale{margin-bottom:4px}.ath-deployed{font-size:12.5px;white-space:nowrap}.att-table tr.picked td{font-weight:600}.ath-slider-panel .att-table tbody tr{cursor:pointer}.ath-chart-wrap{width:100%}.ath-chart{display:flex;gap:10px}.ath-chart-axis{font-feature-settings:"tnum";color:var(--att-muted);display:flex;flex-direction:column;font-size:11.5px;font-variant-numeric:tabular-nums;height:180px;justify-content:space-between;min-width:26px;text-align:right;transform:translateY(-6px)}.ath-chart-plot{flex:1 1;height:180px;position:relative}.ath-chart-grid{display:flex;flex-direction:column;inset:0;justify-content:space-between;pointer-events:none;position:absolute}.ath-chart-grid i{background:var(--att-line);display:block;height:1px}.ath-bars{align-items:flex-end;gap:6px;position:relative}.ath-bar-col,.ath-bars{display:flex;height:100%}.ath-bar-col{flex:1 1;flex-direction:column;justify-content:flex-end;min-width:0}.ath-bar-slot{align-items:flex-end;display:flex;flex:1 1}.ath-bar{border-radius:3px 3px 0 0;display:flex;flex-direction:column-reverse;min-height:2px;overflow:hidden;transition:opacity .12s ease;width:100%}.ath-bar-slot:hover .ath-bar{opacity:.78}.ath-seg{min-height:2px;width:100%}.ath-seg.bad{background:var(--att-bad)}.ath-seg.warn{background:var(--att-warn)}.ath-seg.muted{background:#c9c4bb}.ath-seg.ok{background:var(--att-ok)}.ath-seg.none{background:repeating-linear-gradient(45deg,#e6e3dd,#e6e3dd 3px,#f5f3ef 0,#f5f3ef 6px)}.ath-bar-x{color:var(--att-muted);font-size:11px;margin-top:6px;overflow:hidden;text-align:center;white-space:nowrap}.ath-legend{align-items:center;display:flex;flex-wrap:wrap;font-size:12.5px;gap:14px;margin-top:14px}.ath-legend-item{align-items:center;color:var(--att-ink);display:inline-flex;gap:6px}.ath-legend-note{margin-left:auto}.ath-swatch{border-radius:3px;display:inline-block;height:11px;width:11px}.ath-swatch.bad{background:var(--att-bad)}.ath-swatch.warn{background:var(--att-warn)}.ath-swatch.muted{background:#c9c4bb}.ath-swatch.ok{background:var(--att-ok)}.ath-swatch.none{background:repeating-linear-gradient(45deg,#e6e3dd,#e6e3dd 3px,#f5f3ef 0,#f5f3ef 6px)}.ath-leadtime{grid-gap:22px;align-items:start;display:grid;gap:22px;grid-template-columns:minmax(220px,300px) 1fr}.ath-leadtime-heads{grid-gap:10px;display:grid;gap:10px}.ath-leadtime-heads .att-stat .n{font-size:22px}.ath-buckets{grid-gap:6px;display:grid;gap:6px}.ath-bucket{grid-gap:10px;align-items:center;display:grid;font-size:12.5px;gap:10px;grid-template-columns:62px 1fr 44px}.ath-bucket-label{color:var(--att-muted);white-space:nowrap}.ath-bucket-track{background:var(--att-muted-bg);border-radius:4px;height:14px;overflow:hidden}.ath-bucket-fill{background:var(--att-accent);border-radius:4px;display:block;height:100%;min-width:0}.ath-bucket-count{color:var(--att-ink);text-align:right}.ath-case-list{grid-gap:8px;display:grid;gap:8px}.ath-case{background:var(--att-panel);border:1px solid var(--att-line);border-radius:9px;overflow:hidden}.ath-case.open{border-color:#d6d2ca}.ath-case-head{align-items:center;background:none;border:none;color:var(--att-ink);cursor:pointer;display:flex;flex-wrap:wrap;font-family:inherit;font-size:14px;gap:10px;padding:11px 13px;text-align:left;width:100%}.ath-case-head:hover{background:#faf9f7}.ath-case-caret{color:var(--att-muted);width:12px}.ath-case-name{font-weight:600}.ath-case-day{font-size:13px}.ath-case-ahead{font-size:12.5px;margin-left:auto}.ath-case-body{background:var(--att-bg);border-top:1px solid var(--att-line);padding:14px 14px 16px}.ath-case-block+.ath-case-block{margin-top:16px}.ath-case-block h4{font-size:13px;font-weight:600;margin:0 0 8px}.ath-miss-table{background:var(--att-panel);border:1px solid var(--att-line);border-radius:8px}.ath-case-foot{font-size:12.5px;margin-top:14px}@media (max-width:900px){.ath-leadtime{grid-template-columns:1fr}.ath-legend-note{margin-left:0}.ath-case-ahead{margin-left:0;width:100%}}.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}}.eligibility-page{background:#f5f6f8;display:flex;min-height:100vh;text-align:left}.eligibility-content{flex:1 1;max-width:100%;overflow-x:hidden;padding:24px 28px 24px 100px}.eligibility-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.eligibility-header h1{color:#1f2430;font-size:24px;margin:0 0 4px}.eligibility-subtitle{color:#6b7280;font-size:13px;margin:0}.elig-sync-badge{background:#eef1f5;border-radius:10px;color:#4b5563;display:inline-block;font-size:12px;margin-left:10px;padding:2px 8px}.elig-refresh-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:13px;padding:8px 16px;white-space:nowrap}.elig-refresh-btn:hover:not(:disabled){background:#f3f4f6}.elig-refresh-btn:disabled{cursor:default;opacity:.6}.eligibility-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:6px;margin-bottom:16px}.eligibility-tabs button{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;padding:9px 16px}.eligibility-tabs button.active{border-bottom-color:#2563eb;color:#1f2430;font-weight:600}.eligibility-error{background:#fef2f2;border-radius:6px;color:#b91c1c;margin-bottom:14px;padding:12px 14px}.eligibility-loading{color:#6b7280;padding:40px;text-align:center}.eligibility-note{background:#fffbeb;border-left:3px solid #f59e0b;color:#78350f;font-size:13px;line-height:1.5;margin-bottom:14px;padding:10px 14px}.eligibility-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.elig-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:110px;padding:12px 14px}.elig-summary-card.elig-status-open{border-left:3px solid #10b981}.elig-summary-card.elig-status-blocked{border-left:3px solid #ef4444}.elig-summary-card.elig-status-licensed_not_scheduled{border-left:3px solid #f59e0b}.elig-summary-value{color:#1f2430;font-size:22px;font-weight:600}.elig-summary-label{color:#6b7280;font-size:12px;margin-top:2px}.eligibility-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.eligibility-filters input,.eligibility-filters select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:13px;padding:7px 10px}.eligibility-filters input{min-width:220px}.elig-filters-count{color:#6b7280;font-size:13px;margin-left:auto}.eligibility-table{background:#fff;border:1px solid #e5e7eb;border-collapse:collapse;border-radius:8px;font-size:13px;overflow:hidden;width:100%}.eligibility-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#4b5563;font-weight:600;padding:10px 12px;position:-webkit-sticky;position:sticky;text-align:left;top:0}.eligibility-table td{border-bottom:1px solid #f1f2f4;color:#1f2430;padding:9px 12px;vertical-align:top}.eligibility-table tbody tr:hover{background:#fafbfc}.elig-state-cell{font-weight:600;width:56px}.elig-comment-cell,.elig-license-cell,.elig-states-cell{color:#6b7280}.elig-cell-warn{color:#b45309;font-weight:600}.elig-status-pill{border-radius:10px;display:inline-block;font-size:12px;padding:2px 9px;white-space:nowrap}.elig-status-pill.elig-status-open{background:#ecfdf5;color:#047857}.elig-status-pill.elig-status-blocked{background:#fef2f2;color:#b91c1c}.elig-status-pill.elig-status-licensed_not_scheduled{background:#fffbeb;color:#b45309}.elig-reason-cell{max-width:340px}.elig-kind-tag{border-radius:8px;display:inline-block;font-size:11px;margin-right:6px;padding:1px 7px;white-space:nowrap}.elig-kind-tag.elig-kind-compliance{background:#fee2e2;color:#991b1b}.elig-kind-tag.elig-kind-business{background:#e0e7ff;color:#3730a3}.elig-kind-tag.elig-kind-process{background:#f3f4f6;color:#4b5563}.elig-reason-raw{color:#6b7280}.elig-leaving-tag,.elig-warn-tag{background:#fef3c7;border-radius:8px;color:#92400e;display:inline-block;font-size:11px;margin-left:7px;padding:1px 7px;white-space:nowrap}.elig-warn-tag{background:#fee2e2;color:#991b1b}@media (max-width:900px){.eligibility-content{padding:16px 16px 16px 80px}.eligibility-table{display:block;overflow-x:auto}.eligibility-filters input{min-width:140px}}.elig-private-badge{background:#1f2430;border-radius:10px;color:#fff;display:inline-block;font-size:11px;font-weight:500;margin-left:10px;padding:2px 9px;vertical-align:middle}.elig-caveat-box{background:#fff5f5;border-left:3px solid #dc2626;color:#7f1d1d;font-size:13px;line-height:1.55;margin-bottom:18px;padding:12px 16px}.elig-group-heading{color:#4b5563;font-size:14px;font-weight:600;margin:6px 0 10px}.elig-group-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:18px}.elig-group-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:12px 14px;text-align:left;transition:border-color .15s,box-shadow .15s}.elig-group-card:hover{border-color:#9ca3af}.elig-group-card.active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.elig-group-card.elig-group-missing_document{border-left:3px solid #dc2626}.elig-group-card.elig-group-state_not_supported{border-left:3px solid #6366f1}.elig-group-card.elig-group-leaving,.elig-group-card.elig-group-offboarding,.elig-group-card.elig-group-terminated{border-left:3px solid #9ca3af}.elig-group-card.elig-group-license_hygiene{border-left:3px solid #f59e0b}.elig-group-card.elig-group-data_gap{border-left:3px solid #0ea5e9}.elig-group-card.elig-group-unused_capacity{border-left:3px solid #10b981}.elig-group-name{color:#1f2430;font-size:13px;font-weight:600;margin-bottom:4px}.elig-group-numbers{color:#6b7280;display:flex;flex-direction:column;font-size:12px;gap:2px}.elig-group-appts{color:#b91c1c}.elig-sev-pill{border-radius:8px;display:inline-block;font-size:11px;font-weight:600;padding:1px 8px}.elig-sev-pill.elig-sev-critical{background:#fee2e2;color:#991b1b}.elig-sev-pill.elig-sev-high{background:#ffedd5;color:#9a3412}.elig-sev-pill.elig-sev-medium{background:#fef3c7;color:#92400e}.elig-sev-pill.elig-sev-info{background:#f3f4f6;color:#4b5563}.elig-summary-card.elig-sev-critical{border-left:3px solid #dc2626}.elig-summary-card.elig-sev-high{border-left:3px solid #ea580c}.elig-summary-card.elig-sev-medium{border-left:3px solid #f59e0b}.elig-summary-card.elig-sev-info{border-left:3px solid #9ca3af}.elig-clear-filter{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:13px;padding:7px 12px}.elig-clear-filter:hover{background:#f3f4f6}