.enhanced-date-picker{color:#fff;text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;width:100%;max-width:100%;padding:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:block;box-shadow:0 10px 30px #0000004d;margin:0 auto!important}.combined-header{background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:6px 10px;display:flex}.month-navigation{align-items:center;gap:16px;display:flex}.selected-date-inline{flex-direction:row;align-items:center;gap:8px;display:flex}.selected-date-inline .selected-date-text{color:#fca5a5;font-size:14px;font-weight:600}.schedule-summary-inline{opacity:.9;font-size:11px}.selected-date-inline .past-notice{color:#fca5a5}.selected-date-inline .appointment-notice,.selected-date-inline .available-notice{color:#bbf7d0}.selected-date-inline .no-schedule{color:#d1d5db;font-style:italic}.nav-button{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s;display:flex}.nav-button:hover:not(:disabled){background:#ffffff4d;transform:scale(1.1)}.nav-button:disabled{opacity:.5;cursor:not-allowed}.current-month{flex-direction:column;align-items:center;min-width:120px;display:flex}.month-name{font-size:18px;font-weight:600}.year{opacity:.8;font-size:14px}.calendar-container{color:#374151;background:#fffffff2;border-radius:16px;padding:12px;position:relative}.calendar-loading-overlay{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffb3;border-radius:16px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.calendar-spinner{border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pointer-events-none{pointer-events:none;opacity:.8}.weekday-header{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;display:grid}.weekday-cell{text-align:center;color:#6b7280;padding:8px 4px;font-size:14px;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.enhanced-date-cell{cursor:pointer;background:#f9fafb;border:2px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:48px;transition:all .3s;display:flex;position:relative}.enhanced-date-cell:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.patient-appointment-dot{z-index:5;background-color:#ef4444;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:4px;box-shadow:0 0 4px #ef444480}.enhanced-date-cell.selected:hover{transform:scale(1.12)!important;box-shadow:0 0 0 4px #dc262680,0 12px 24px #dc262659!important}.date-number{margin-bottom:2px;font-size:16px;font-weight:500}.enhanced-date-cell.other-month{opacity:.3;cursor:default}.enhanced-date-cell.other-month:hover{box-shadow:none;transform:none}.enhanced-date-cell.today{color:#166534;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#22c55e;font-weight:700}.enhanced-date-cell.selected{z-index:10;position:relative;color:#7f1d1d!important;background:linear-gradient(135deg,#fecaca,#fca5a5)!important;border-color:#ef4444!important;font-weight:800!important;transform:scale(1.1)!important;box-shadow:0 0 0 4px #ef44444d,0 8px 20px #ef444440!important}.enhanced-date-cell.past-with-schedule{color:#6b7280;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-color:#d1d5db}.enhanced-date-cell.future-with-schedule{color:#1e40af;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6}.enhanced-date-cell.future-with-appointments{color:#065f46;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981}.date-status-indicator{align-items:center;gap:2px;display:flex;position:absolute;bottom:-2px;right:-8px}.status-icon{border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:8px;display:flex}.status-icon.past{color:#fff;background:#9ca3afcc}.status-icon.available{color:#fff;background:#3b82f6cc}.status-icon.appointments{color:#fff;background:#f97316cc}.status-info{align-items:center;gap:2px;display:flex}.appointment-count{color:#1f2937;background:#ffffffe6;border-radius:6px;padding:1px 4px;font-size:10px;font-weight:600;line-height:1}.appointment-count.full{color:#fff;background:#10b981;border:1px solid #059669}.appointment-count.partial{color:#065f46;background:#a7f3d0;border:1px solid #10b981}.appointment-count.available{color:#1e40af;background:#dbeafe;border:1px solid #93c5fd}@media (max-width:640px){.enhanced-date-picker{margin:0 8px;padding:10px}.combined-header{flex-direction:row;gap:6px;margin-bottom:8px;padding:6px}.month-navigation{justify-content:flex-start;gap:8px}.selected-date-inline{align-items:center;gap:6px}.enhanced-date-cell{min-height:32px}.date-number{font-size:14px}.date-status-indicator{bottom:-4px;right:-6px}}@media (max-width:480px){.enhanced-date-picker,.calendar-container{padding:8px}.combined-header{padding:6px}.enhanced-date-cell{min-height:28px}.date-number{font-size:12px}.appointment-count{font-size:8px}}
