.date-range-picker-portal{position:fixed;z-index:9999;top:0;left:0;width:100%;height:100%;pointer-events:none}.date-range-picker-dropdown{pointer-events:auto;position:absolute;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:8px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);overflow:hidden}@media (min-width:640px){.date-range-picker-dropdown{width:500px}.date-range-picker-dropdown.calendar-only{width:320px}.date-range-picker-content{display:flex}.date-range-picker-content.calendar-only{display:block}.calendar-section{flex:1;padding:20px}.quick-select-section{width:180px;background:hsl(var(--muted));padding:20px 16px;border-left:1px solid hsl(var(--border))}}@media (max-width:639px){.date-range-picker-dropdown{width:100vw;max-width:360px;left:50%!important;transform:translateX(-50%);margin:0 8px;max-height:90vh;overflow:hidden}.date-range-picker-content{display:block;max-height:90vh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground)) transparent;scroll-behavior:smooth;overscroll-behavior:contain}.date-range-picker-content::-webkit-scrollbar{width:4px}.date-range-picker-content::-webkit-scrollbar-track{background:transparent}.date-range-picker-content::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground));border-radius:2px}.date-range-picker-content::-webkit-scrollbar-thumb:hover{background:hsl(var(--foreground))}.calendar-section{padding:6px;min-height:auto}.quick-select-section{background:hsl(var(--muted));padding:10px;border-top:1px solid hsl(var(--border));min-height:auto}}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:12px 8px;position:relative;border-bottom:1px solid hsl(var(--border))}.calendar-nav-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:6px;transition:all .2s ease;color:hsl(var(--muted-foreground))}.calendar-nav-button:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.calendar-nav-button:disabled{opacity:.3;cursor:not-allowed}.calendar-nav-button:disabled:hover{background:transparent;color:hsl(var(--muted-foreground))}.calendar-month-year{position:absolute;left:50%;transform:translateX(-50%);font-weight:600;font-size:18px;color:hsl(var(--foreground));letter-spacing:-.025em;white-space:nowrap;user-select:none;text-align:center;min-width:160px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}@media (max-width:639px){.calendar-grid{gap:1px;margin-bottom:4px;min-height:280px}.calendar-header{margin-bottom:10px;padding:4px;position:sticky;top:0;background:hsl(var(--background));z-index:10;border-bottom:1px solid hsl(var(--border))}}.calendar-weekday{padding:8px;text-align:center;font-size:12px;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase}.calendar-day{padding:8px;text-align:center;cursor:pointer;border-radius:4px;font-size:14px;transition:all .2s;position:relative;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.calendar-day:hover:not(.disabled):not(.outside-month){background:hsl(var(--primary));color:hsl(var(--accent-foreground))}@media (max-width:639px){.calendar-day{padding:8px;min-height:40px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500}.calendar-day:active:not(.disabled):not(.outside-month){background:hsl(var(--primary));color:hsl(var(--accent-foreground));transform:scale(.95)}.calendar-weekday{padding:6px;font-size:11px;font-weight:600}}.calendar-day.today{color:hsl(var(--primary));font-weight:700}.calendar-day.selected{background:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important}.calendar-day.hover-preview,.calendar-day.in-range{background:hsl(var(--primary)/.4)!important;color:hsl(var(--foreground))!important}.calendar-day.disabled{color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.5}.calendar-day.disabled:hover{background:transparent}.calendar-day.outside-month{color:hsl(var(--muted-foreground));opacity:.3}.quick-select-header{font-weight:600;margin-bottom:12px}.quick-select-button,.quick-select-header{font-size:14px;color:hsl(var(--foreground))}.quick-select-button{display:block;width:100%;padding:8px 12px;margin-bottom:4px;background:transparent;border:none;border-radius:6px;text-align:left;cursor:pointer;transition:all .2s}@media (max-width:639px){.quick-select-header{font-size:13px;margin-bottom:1px;position:sticky;top:0;background:hsl(var(--muted));padding:2px 0;z-index:5}.quick-select-button{padding:6px;margin-bottom:2px;font-size:13px;min-height:24px;display:flex;align-items:center;border-radius:8px;transition:all .2s ease}.quick-select-button:active{transform:scale(.98)}}.quick-select-button:hover{background:hsl(var(--primary));color:hsl(var(--accent-foreground))}.quick-select-button.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.date-range-input{display:flex;align-items:center;width:100%;padding:8px 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));cursor:pointer;transition:all .2s}.date-range-input:hover{border-color:hsl(var(--muted-foreground))}.date-range-input:focus-within{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring)/.1)}.date-range-input-icon{margin-right:8px;color:hsl(var(--muted-foreground))}.date-range-input-text{flex:1;font-size:14px;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-range-input-text.placeholder{color:hsl(var(--muted-foreground))}@media (max-width:480px){.date-range-input-text{font-size:12px}}.date-range-picker-dropdown{animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.date-range-picker-dropdown:focus{outline:none}.calendar-day:focus,.quick-select-button:focus{outline:2px solid var(--primary);outline-offset:-2px}@media (prefers-contrast:high){.calendar-day.selected,.quick-select-button.active{border:2px solid hsl(var(--background))}}