.calendar-slot-picker{display:flex;flex-direction:column;gap:1rem;width:100%}.calendar-trigger-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border:1px solid var(--border-color, #ddd);border-radius:8px;background:var(--bg-surface, #fff);cursor:pointer;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.calendar-trigger-btn:hover{border-color:var(--primary, #4f46e5);box-shadow:0 0 0 2px #4f46e526}.calendar-popup{position:absolute;z-index:100;margin-top:.25rem}.calendar-date-picker-wrapper{position:relative}.calendar-slider-wrapper{display:flex;align-items:center;gap:.25rem;width:100%}.calendar-slider{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;padding:.25rem 0}.calendar-slider::-webkit-scrollbar{display:none}.calendar-slider-arrow{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:50%;background:var(--bg-surface, #f3f4f6);cursor:pointer;transition:background .2s}.calendar-slider-arrow:hover{background:var(--bg-hover, #e5e7eb)}.calendar-date-btn{scroll-snap-align:center;flex-shrink:0;padding:.5rem 1rem;border:1px solid var(--border-color, #ddd);border-radius:8px;background:var(--bg-surface, #fff);cursor:pointer;font-size:.85rem;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}.calendar-date-btn:hover{border-color:var(--primary, #4f46e5)}.calendar-date-btn.selected{background:var(--primary, #4f46e5);color:#fff;border-color:var(--primary, #4f46e5)}.calendar-slot-list{display:flex;flex-wrap:wrap;gap:.5rem}.calendar-slot-list .results-line-title{width:100%;font-weight:600;padding:.5rem 0 .25rem;font-size:.9rem;color:var(--text-secondary, #555)}.calendar-slot-list .results-slots{flex-shrink:0}.calendar-slot-list .results-separator{width:100%;border:none;border-top:1px solid var(--border-color, #eee);margin:.25rem 0}.calendar-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary, #888);font-size:.9rem}.calendar-no-results{padding:1.5rem;text-align:center;color:var(--text-secondary, #888);font-size:.9rem}
