.flatpickr-calendar {
font-family: inherit;
border-radius: 8px;
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
text-align: left;
width: auto !important;
height: auto !important;
padding: 10px !important;
}
.flatpickr-calendar .flatpickr-innerContainer {
padding: 10px;
}
.flatpickr-calendar .flatpickr-day {
font-size: 16px; height: 40px; line-height: 40px; margin: 2px;
border-radius: 6px;
transition: background-color 0.2s, color 0.2s;
}
.flatpickr-calendar .flatpickr-day.today {
border-color: #007bff;
color: #007bff;
background-color: #e9f5ff;
}
.flatpickr-calendar .flatpickr-day:hover,
.flatpickr-calendar .flatpickr-day.selected {
background: #007bff;
border-color: #007bff;
color: #fff;
}
.flatpickr-calendar .flatpickr-day.startRange,
.flatpickr-calendar .flatpickr-day.endRange {
background: #007bff;
border-color: #007bff;
color: #fff;
}
.flatpickr-calendar .flatpickr-day.inRange {
background: #e9f5ff;
border-color: transparent;
}
.flatpickr-calendar .flatpickr-months {
border-bottom: 1px solid #eee;
padding-bottom: 10px;
margin-bottom: 10px;
}
.flatpickr-calendar .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-next-month {
color: #555;
} .flatpickr-current-month { display: flex;
align-items: center; justify-content: flex-start; width: 100%;
padding: 0 10px; box-sizing: border-box; 
} .flatpickr-current-month { display: flex;
align-items: center; justify-content: flex-start; width: 100%;
padding: 0 10px; box-sizing: border-box; 
} .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month .flatpickr-year-select, 
.flatpickr-current-month .numInput.cur-year {
width: auto !important; 
font-size: 16px;
border: none;
background: transparent;
cursor: pointer;
font-weight: 500;
margin-right: 5px; 
} .flatpickr-current-month .flatpickr-year-select { -webkit-appearance: menulist-button !important; -moz-appearance: menulist-button !important; appearance: menulist-button !important;  background: transparent !important; padding-right: 20px !important; 
}
.flatpickr-current-month .numInputWrapper {
width: auto !important; 
padding-left: 0; 
}
.flatpickr-current-month .numInput.cur-year {
text-align: center;
} .flatpickr-time {
display: flex;
justify-content: center;
align-items: center;
border-top: 1px solid #eee;  gap: 10px; margin-top: 10px;
margin-bottom: 10px;
padding-top: 10px; padding-bottom: 10px; }
.flatpickr-time .numInputWrapper .arrowUp,
.flatpickr-time .numInputWrapper .arrowDown {
position: absolute;
right: 0;
width: 25%;
height: 50%;
cursor: pointer;
font-size: 14px;
text-align: center;
line-height: 22px; 
padding-left: 7%; 
}
.flatpickr-time .numInputWrapper .arrowUp {
top: 0; border-bottom: 1px solid #ccc; 
}
.flatpickr-time .numInputWrapper .arrowDown {
bottom: 0;
}
.flatpickr-time input.flatpickr-hour,
.flatpickr-time input.flatpickr-minute {
width: calc(100% - 20px); height: 44px;
font-size: 18px;
text-align: center;
border: none; border-radius: 6px;
box-shadow: none;
-moz-appearance: textfield;
}
.flatpickr-time input.flatpickr-hour::-webkit-inner-spin-button,
.flatpickr-time input.flatpickr-hour::-webkit-outer-spin-button,
.flatpickr-time input.flatpickr-minute::-webkit-inner-spin-button,
.flatpickr-time input.flatpickr-minute::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
.flatpickr-time .flatpickr-am-pm {
width: 60px;
height: 44px;
font-size: 16px; cursor: pointer;
text-align: center;
line-height: 44px;
background: #fff;
transition: background 0.2s ease, border 0.2s ease;
}
.flatpickr-time .flatpickr-am-pm:hover {
background: #007bff;
color: #fff;
border-color: #007bff;
} .ph_flatpickr_apply_button {
display: block;
padding: 8px 16px;
background-color: #007BFF;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
font-weight: bold;
text-align: center;
width: 100%; } .flatpickr-year-select {
margin-left: 10px;
}