.gdtp-datetimepicker {
    --gdtp-font-size: 14px;
    --gdtp-day-width: 30px;
    --gdtp-day-height: 30px;
    --gdtp-month-picker-height: 30px;

    --gdtp-month-picker-current-bg: #60a5fa;
    --gdtp-month-picker-current-color: #fff;
    --gdtp-month-picker-hover-bg: #f3f4f6;

    --gdtp-weekday-bg: #94a3b8;
    --gdtp-weekday-color: #f8fafc;

    --gdtp-date-bg: #f8fafc;
    --gdtp-date-color: #374151;
    --gdtp-date-current-bg: #60a5fa;
    --gdtp-date-current-color: #fff;
    --gdtp-date-hover-bg: #f3f4f6;
    --gdtp-date-disabled-color: #d1d5db;
    --gdtp-today-color: #2563eb;
    --gdtp-date-weekend-color: #ea580c;

    --gdtp-time-bg: #f8fafc;
    --gdtp-time-current-bg: #60a5fa;
    --gdtp-time-current-color: #fff;
    --gdtp-time-hover-bg: #f3f4f6;
    --gdtp-time-disabled-color: #d1d5db;

    user-select: none;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
    background: #fff;
    color: #333;
    padding: 8px;
    position: absolute;
    z-index: 9999;
    display: none;
    border-radius: 6px;
}

.gdtp-datetimepicker * {
    box-sizing: border-box;
}

.gdtp-datetimepicker ::-webkit-scrollbar-track
{
	-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.122);
	background-color: #F5F5F5;
}

.gdtp-datetimepicker ::-webkit-scrollbar
{
	width: 6px;
	background-color: #F5F5F5;
}

.gdtp-datetimepicker ::-webkit-scrollbar-thumb
{
	background-color: #94a3b8;
    border-radius: 6px;
}

.gdtp-input,
.gdtp-input:read-only {
    background: #fff;
}

/*---------- buttons ---------- */
.gdtp-button-icon {
    border: none;
}

.gdtp-monthpicker__label:after,
.gdtp-button-icon {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAMAAADthUvBAAAATlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEoqZZAAAAGXRSTlMAj1rVCsgG+/Pt493Qem9pTEsU276yr04a8h2FRwAAALhJREFUSMft1ssKgzAQheGZxrtWq73+7/+ilW5cGKZEGLDSswlkkS/kMon8c5SoinsU3BUFd0Vho6JG98rYqqBRg5hhKENvIsQnHekylBFOJoLGBpSUXMBUAHRtkGjYCitFSURG+KKwKIuRhDxhUZyQAYD7A4Cz03LlXf4ZvIfQBbeNzymLualoC78jfKWcRIqayvEy1vASyYDMr6zcmnaakdCEzLNA7qLU7+3Rsp/f3/pI7CtH2703SV8YXip2F0oAAAAASUVORK5CYII=)
}

.gdtp-button-icon {
    background-color: transparent;
    background-repeat: no-repeat;
    cursor: pointer;
    display: block;
    height: 100%;
    opacity: .5;
    padding: 0;
    position: relative;
    width: 20px;
}

.gdtp-monthpicker__label:after {
    content: '';
    display: inline-block;
    opacity: .5;
    width: 9px;
    height: 20px;
    vertical-align: middle;
    margin-right: 2px;;
    background-position: -92px -19px;
}

.gdtp-button-icon:hover {
    opacity: 1;
}

/*---------- month picker ---------- */
.gdtp-monthpicker {
    position: relative;
    display: flex;
    text-align: center;
    align-items: center;
    height: var(--gdtp-month-picker-height);
}

.gdtp-monthpicker__prev {
    background-position: -20px 0
}

.gdtp-monthpicker__next {
    background-position: 0 0
}

.gdtp-monthpicker__today {
    background-position: -70px 0;
    margin-left: 5px
}

.gdtp-monthpicker__label {
    position: relative;
    font-size: var(--gdtp-font-size);
    font-weight: 500;
    cursor: pointer
}

.gdtp-monthpicker__months {
    width: 100px;
    position: relative;
}

.gdtp-monthpicker__years {
    width: 60px;
    position: relative;
}

.gdtp-monthpicker__select {
    border: 1px solid #ccc;
    background: #fff;
    position: absolute;
    top: 20px;
    max-height: 160px;
    width: 100%;
    overflow-y: scroll;
    overscroll-behavior: contain;
    z-index: 2;
    display: none;
}

.gdtp-monthpicker__option {
    padding: 2px 5px;
    text-decoration: none;
    font-weight: normal;
    cursor: pointer;
}

.gdtp-monthpicker__option:hover {
    background: var(--gdtp-month-picker-hover-bg);
}

.gdtp-monthpicker__option.is-current {
    background: var(--gdtp-month-picker-current-bg);
    color: var(--gdtp-month-picker-current-color);
}

/*---------- calendar ---------- */
.gdtp-calendar__dates,
.gdtp-calendar__weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}

.gdtp-calendar__date,
.gdtp-calendar__weekday {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--gdtp-font-size);
    height: var(--gdtp-day-height);
    width: var(--gdtp-day-width);
    padding: 0 5px;
    cursor: pointer;
    border-radius: 50%;
}

.gdtp-calendar__weekday {
    font-weight: 600;
}

.gdtp-calendar__date:hover {
    background-color: var(--gdtp-date-hover-bg);
}

.gdtp-calendar__date.is-today {
    color: var(--gdtp-today-color);
}

.gdtp-calendar__date.is-current {
    background-color: var(--gdtp-date-current-bg);
    color: var(--gdtp-date-current-color)
}

.gdtp-calendar__date.is-other-month span {
    opacity: .5;
}

.gdtp-calendar__date.is-disabled {
    cursor: default;
}

.gdtp-calendar__date.is-disabled span {
    opacity: .3;
}

.gdtp-calendar__date.is-weekend:not(.is-current, .is-today) {
    color: var(--gdtp-date-weekend-color);
}

/*---------- Timer ---------- */
.gdtp-timepicker {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 58px;
    margin-left: 8px;
    margin-top: 8px;
}

/* .gdtp-timepicker:not(.active) {
    display: none;
} */

.gdtp-timepicker__prev,
.gdtp-timepicker__next {
    background-position: -40px -15px;
    height: 15px;
    width: 30px;
    display: block;
    margin-top: 7px
}

.gdtp-timepicker__prev {
    background-position: -40px 0;
    margin-bottom: 7px;
    margin-top: 0
}

.gdtp-timepicker__times {
    border: 1px solid #ddd;
    overflow-y: scroll;
    overscroll-behavior: contain;
    height: calc(var(--gdtp-day-height) * 6);
    position: relative;
}

.gdtp-timepicker__time {
    padding: 0 4px;
    border-top: 1px solid #ddd;
    font-size: var(--gdtp-font-size);
    text-align: center;
    border-collapse: collapse;
    cursor: pointer;
    border-bottom-width: 0;
    height: var(--gdtp-day-height);
    line-height: var(--gdtp-day-height);
}

.gdtp-timepicker__time:first-child {
    border-top: none;
}

.gdtp-timepicker__time:hover {
    background-color: var(--gdtp-time-hover-bg);
}

.gdtp-timepicker__time.is-disabled {
    color: var(--gdtp-time-disabled-color);
    cursor: default;
}

.gdtp-timepicker__time.is-current {
    background-color: var(--gdtp-time-current-bg);
    color: var(--gdtp-time-current-color);
}

/*---------- Footer ---------- */
.gdtp-datepicker__footer {
    display: flex;
    padding: 8px;
    gap: 16px;
}

.gdtp-datepicker__footer .gdtp-button {
    color: #4b5563;
    border: none;
    padding: 0;
    background: #fff;
    font-size: 14px;
}

.gdtp-datepicker__footer .gdtp-button:hover {
    color: #2563eb;
    text-decoration: underline;
}