.date-selector{margin-bottom:8px}.date-selector-label{display:block;font-size:15px;font-weight:600;color:var(--title-color);margin-bottom:12px}.date-selector-label .required{color:var(--danger-color);margin-left:4px}.date-selector-container{position:relative;display:flex;align-items:center}.scroll-arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:#fff;border:none;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s ease}.scroll-arrow:hover{background:#ff6b35;color:#fff;box-shadow:0 4px 12px #ff6b354d}.scroll-arrow i{font-size:16px;color:var(--title-color);transition:color .2s ease}.scroll-arrow:hover i{color:#fff}.scroll-arrow-left{left:-8px}.scroll-arrow-right{right:-8px}.dates-scroll{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;padding:8px 4px;margin:0 -4px;scrollbar-width:none;-ms-overflow-style:none}.dates-scroll::-webkit-scrollbar{display:none}.date-card{flex-shrink:0;width:64px;padding:8px 6px;border:2px solid #eee;border-radius:10px;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:all .25s ease;position:relative}.date-card:hover:not(.disabled):not(.selected){border-color:#ff6b3580;transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3526;background:#fff8f5}.date-card .date-day{font-size:10px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.3px}.date-card .date-number{font-size:18px;font-weight:700;color:#333;line-height:1}.date-card .date-month{font-size:9px;font-weight:600;color:#666;text-transform:uppercase}.date-card .today-badge,.date-card .tomorrow-badge{position:absolute;top:-6px;left:50%;transform:translateX(-50%);font-size:8px;font-weight:600;padding:2px 6px;border-radius:8px;white-space:nowrap}.date-card .today-badge{background:#ff6b35;color:#fff;box-shadow:0 2px 4px #ff6b354d}.date-card .tomorrow-badge{background:#fff3ef;color:#ff6b35;border:1px solid #ff6b3533}.date-card.today{border-color:#ff6b35;background:linear-gradient(135deg,#fff3ef,#fff)}.date-card.today .date-day,.date-card.today .date-number{color:#ff6b35}.date-card.weekend{background:#fafafa}.date-card.weekend .date-day{color:#ff6b35;font-weight:600}.date-card.selected{border-color:#ff6b35;background:linear-gradient(135deg,#ff6b35,#ff8c42);box-shadow:0 2px 8px #ff6b3540;transform:translateY(-1px)}.date-card.selected .date-day,.date-card.selected .date-month,.date-card.selected .date-number{color:#fff!important}.date-card.selected .today-badge,.date-card.selected .tomorrow-badge{background:#ffffff4d;color:#fff;border:none;box-shadow:none}.date-card.disabled{opacity:.4;cursor:not-allowed;background:#f5f5f5}.date-card.disabled:hover{transform:none;box-shadow:none;border-color:#eee}.selected-date-display{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;background:linear-gradient(135deg,#fff3ef,#fff8f5);border:1px solid #ff6b3526;border-radius:8px;font-size:13px;font-weight:500;color:#333}.selected-date-display i{color:#ff6b35;font-size:14px}.date-selector.has-error .dates-scroll{border:1px solid var(--danger-color);border-radius:12px;padding:8px}.date-selector-error{color:var(--danger-color);font-size:13px;margin-top:8px}@media (max-width:576px){.date-card{width:56px;padding:6px 4px}.date-card .date-number{font-size:16px}.date-card .date-day{font-size:9px}.date-card .date-month{font-size:8px}.scroll-arrow{width:28px;height:28px}.scroll-arrow-left{left:-4px}.scroll-arrow-right{right:-4px}.selected-date-display{font-size:12px;padding:8px 12px}}@media (hover:none) and (pointer:coarse){.scroll-arrow{display:none}.dates-scroll{padding:8px 0;margin:0}}.form-control.is-invalid,.form-select.is-invalid{border-color:var(--danger-color,#f44336)}.form-control.is-invalid:focus,.form-select.is-invalid:focus{border-color:var(--danger-color,#f44336);outline-color:var(--danger-color,#f44336)}.field-error,.invalid-feedback.d-block{display:block;color:var(--danger-color,#f44336);font-size:13px;margin-top:6px}.v2-time-pills.is-invalid{border:1px solid var(--danger-color,#f44336);border-radius:8px;padding:6px}