
#date_picker_dialog * {
    box-sizing: border-box;
}
#date_picker_dialog .picker-div {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}
#date_picker_dialog .picker-cols {
    margin: 0px;
    padding: 0px;
    border: none;
    width: 100%;
    flex: 1;
    display: flex;
    gap: 1px;
    background-color: #ddd;
}
#date_picker_dialog .monthview {
    margin: 0px;
    border: none;
    height: 100%;
    /* flex: 1; */
    display: flex;
    flex-direction: column;
}
#date_picker_dialog .calendar-header {
    background-color:#555;
    color:#fff;
    text-align:center;
}
#date_picker_dialog .calendar-header-top {
    display: flex;
    align-items: center;
    padding: 0px;
    margin: 0px;
    height: 30px;
    font-size:13px;
    line-height:13px;
}
#date_picker_dialog .calendar-header-second {
    height: 18px;
    display: flex;
    align-items: center;
}
#date_picker_dialog .cal-header-cell {
    color:#fff;
    text-align:center;
    font-size:9px;
    flex: 1;
}
#date_picker_dialog .calendar-day-grid {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-auto-rows: auto;
    column-gap: 1px;
    row-gap: 1px;
    background-color: #ddd;
}
#date_picker_dialog .monthview button.cal-cell {
    color: #555;
    background-color: white;
    text-decoration: none;
    text-align: center;
    padding: 0px;
    margin: 0px;
    border: none;
    font-size: 10px;
    line-height: 10px;
    box-shadow: none;
    height: auto;
    border-radius: 0px;
}
#date_picker_dialog .monthview button.cal-cell:active {
    height: auto;
    line-height: 10px;
}
#date_picker_dialog .monthview button.cal-cell.oth-month {
    background-color: #e7e7e7;
}
#date_picker_dialog .monthview button.cal-cell.today {
    background-color: #ffc;
}
#date_picker_dialog .monthview button.cal-cell:hover {
    background-color:#eee;
    z-index:50;
}
#date_picker_dialog .monthview button.cal-cell.selected-alt {
    /* background-color: hsl(var(--theme-h), var(--theme-s), 94%); */
    background-color: color-mix(in srgb, var(--theme-pri), white 90%)
}
#date_picker_dialog .monthview button.cal-cell.selected {
    background-color: var(--theme-pri);
    color:#fff;
}

#date_picker_dialog .calendar-header-top .caption {
    flex: 4;
}
#date_picker_dialog .calendar-header button.shift-btn {
    flex: 1;
    background: transparent;
    padding: 0px;
    margin: 0px;
    border: none;
    font-size:15px;
    line-height:15px;
    box-shadow: none;
    height: 24px;
    color: #ddd;
}
#date_picker_dialog .calendar-footer {
    display: flex;
    height: 38px;
    align-items: center;
    padding: 0px 8px;
    border-top: 1px solid #ddd;
}
#date_picker_dialog .calendar-footer a.today-button {
    padding: 0px;
    margin: 0px;
    border: none;
    font-size:12px;
    line-height:12px;
    text-decoration: none;
}
#date_picker_dialog .calendar-footer .spacer {
    flex: 1;
}
#date_picker_dialog .calendar-footer button.ok-button {
    background: transparent;
    padding: 0px;
    margin: 0px;
    border: none;
    font-size:12px;
    line-height:12px;
    box-shadow: none;
    text-align: right;
    border-radius: 3px;
    background-color: #555;
    color: #fff;
    height: 20px;
    padding: 1px 8px;
}
#date_picker_dialog .timeview {
    display: flex;
    height: 100%;
    flex-direction: column;
}
#date_picker_dialog .time-cols {
    background-color: #ddd;
    width: 100%;
    display: flex;
    flex: 1 1 0;
    gap: 1px;
    min-height: 0px;
}
#date_picker_dialog .time-col {
    height: 100%;
    background-color: white;
    flex: 1;
    overflow-y: auto;
    align-items: center;
}
#date_picker_dialog button.timecell {
    color: #555;
    background-color: white;
    display: block;
    text-decoration: none;
    text-align: left;
    padding: 6px 10px 6px 12px;
    margin: 0px;
    width: 100%;
    border: none;
    font-size: 11px;
    line-height: 11px;
    box-shadow: none;
    height: auto;
    border-radius: 0;
}
#date_picker_dialog button.timecell.selected {
    background-color: var(--theme-pri);
    /* background-color: #33f; */
    color: white;
}
#year_picker_dialog .year-picker {
    display: flex;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
}

#year_picker_dialog .year-picker button.shift-btn {
    background: transparent;
    margin: 0px;
    border: none;
    font-size:18px;
    line-height:24px;
    box-shadow: none;
    height: 24px;
    color: #333;
    cursor: pointer;
}
#year_picker_dialog button.group-prev {
    padding: 0 0 0 8px;
}
#year_picker_dialog button.group-next {
    padding: 0 8px 0 0;
}

#year_picker_dialog .year-grid {
    flex: 1;
    padding: 14px 2px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    text-align: center;
    height: 100%;
    column-gap: 8px;
    row-gap: 8px;
}
#year_picker_dialog .year-grid a {
    font-size:13px;
    line-height:13px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
#year_picker_dialog .year-grid a.today {
    background-color: #f4f4f4;
    border-radius: 3px;
}
#month_picker_dialog .month-picker {
    padding: 14px 10px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    text-align: center;
    height: 100%;
    box-sizing: border-box;
}
#month_picker_dialog .month-picker a {
    font-size:13px;
    line-height:13px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.date-picker-link { margin-left:16px; }

.date-picker-link-reset {
    display: inline-block;
    margin-left:4px;
    height:12px;
    width:12px;
    background:transparent url(reset.png) no-repeat scroll center bottom;
}
input[type="text"].picker-icon-clock {
    --clock-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='%23707070' d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8s8 3.58 8 8s-3.58 8-8 8'/%3E%3Cpath fill='currentColor' d='M12.5 7H11v6l5.25 3.15l.75-1.23l-4.5-2.67z'/%3E%3C/svg%3E");
    padding-right: 30px;
    background-image: var(--clock-svg);
    background-repeat: no-repeat;
    background-position: center right 9px;
    background-size: 16px;
}
input[type="text"].picker-icon-calendar {
    --calendar-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='%23707070' d='M5 22q-.825 0-1.412-.587T3 20V6q0-.825.588-1.412T5 4h1V2h2v2h8V2h2v2h1q.825 0 1.413.588T21 6v14q0 .825-.587 1.413T19 22zm0-2h14V10H5z'/%3E%3C/svg%3E");
    padding-right: 30px;
    background-image: var(--calendar-svg);
    background-repeat: no-repeat;
    background-position: center right 9px;
    background-size: 16px;
}
