/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
/*
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,h4,h5 {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}*/
/* HTML5 display-role reset for older browsers */
/*
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body a,body a:hover{
	text-decoration: none;
}
.fl{
	float:left;
}
.fr{
	float:right;
}
body {
	line-height: 1;
	font-size:16px;
	font-family: "微软雅黑";
	background: #fff;
}
input{
	font-family: "微软雅黑";
}
em{
	font-style: italic;
}
button{
	font-family: "微软雅黑";
	cursor: pointer;
}
a{
	text-decoration: none;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
*/
.xndatepicker{
	font-size: 12px;
	line-height: 20px;
	background:#fff;
	box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
	display: none;
	position: fixed;
	top: 100px;
	left: 100px;
	border: 1px solid #efefef;
	border-radius: 4px;
	user-select: none;
	z-index: 9999;
}
.xndatepicker-input.icon-xndatepickerrili{
	padding-right:25px;
}
.xndatepicker-input.icon-xndatepickerrili:before{
	position: absolute;
	right:8px;
}
.xndatepicker-input:empty:after{
	content:attr(data-placeholder);
}

/* 顶部区域布局 - 关键修复 */
.xndatepicker .xn-top{
	display: flex;
	align-items: stretch;
	min-height: 300px; /* 确保最小高度 */
}

/* 快捷面板样式 */
.xndatepicker .shortcut{
	padding: 10px;
	line-height: 26px;
	white-space: nowrap;
	font-size: 12px;
	width: 120px; /* 固定快捷面板宽度 */
	flex-shrink: 0; /* 防止快捷面板被压缩 */
	border-right: 1px solid #e2edff;
	background: #f9fbfe;
	box-sizing: border-box;
}

.xndatepicker .shortcut ul{
	padding: 0;
	margin: 0;
}

.xndatepicker .shortcut li{
	cursor: pointer;
	color: #5d90e6;
	padding: 4px 8px;
	margin: 2px 0;
	border-radius: 3px;
	transition: all 0.2s;
}

.xndatepicker .shortcut li:hover{
	color:#1650b0;
	background: rgba(37, 121, 255, 0.1);
}

/* 日期主区域 - 关键修复 */
.xndatepicker .date-main{
	flex: 1; /* 占据剩余空间 */
	min-width: 294px; /* 最小宽度 */
	box-sizing: border-box;
}

/* 底部按钮区域 */
.xndatepicker .xn-bottom{
	border-top:1px solid #e2edff;
	display: flex;
	justify-content: flex-end;
	line-height:28px;
	font-size:11px;
	padding: 0 8px;
}

.xndatepicker .xn-bottom>a{
	padding:0 15px;
	cursor: pointer;
	border-left: 1px solid #e2edff;
}

.xndatepicker .xn-bottom>a.confirm-date{
	background: #2264d1;
	color: #fff;
	border-radius: 0 0 4px;
}

.xndatepicker .xn-bottom>a:first-child{
	border-left: none;
}

/* 时间选择器区域 */
.xndatepicker .timepicker{
	display: flex;
	align-items: center;
	border-bottom: 1px solid #e2edff;
	line-height: 28px;
	font-size: 11px;
	padding: 4px 8px;
}

.xndatepicker .datepicker{
	display: flex;
	align-items: flex-start;
}

.xndatepicker .timepicker>div{
	flex: 1;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 4px 0;
}

.xndatepicker .dater>span.active-day{
	color: #333;
	cursor: pointer;
}

.xndatepicker .dater>span.day-item.disable-day{
	cursor: not-allowed;
	background: none;
	color:#e6e6e6;
}

.xndatepicker .dater>span.active-day.disable-day:hover{
	cursor: not-allowed;
	background: none;
	color:#333;
}

.xndatepicker .dater>span.active-day.cur-date{
	color: #fff;
}

.xndatepicker .dater>span.active-day.not-cur-date{
	color: #c6c6c6;
}

.xndatepicker .cur-date{
	border-radius: 4px 0 0 4px;
}

.xndatepicker .cur-date.right-date{
	border-radius:0 4px 4px 0;
}

.xndatepicker .cur-date.circle-date{
	border-radius: 50%;
}

.xndatepicker .cur-date.circle-date.year-item,.xndatepicker .cur-date.circle-date.month-item{
	border-radius: 50%;
}

.xndatepicker .dater>span.active-day:hover{
	background:#2979ff;
	color:#fff;
	border-radius: 50%;
}

/* 周标题样式 */
.xndatepicker .week{
	display: flex;
	align-items: center;
	margin-bottom:2px;
	color: #888;
	font-size: 14px;
	padding: 0 8px;
}

.xndatepicker .week span{
	width:42px;
	text-align: center;
	display: inline-block;
}

/* 年份选择器头部 */
.xndatepicker .year-picker{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom:4px;
	line-height: 35px;
	border-bottom: 1px solid #e2edff;
	padding: 0 8px;
}

/* 单个日期面板 */
.xndatepicker .date-item{
	padding:8px;
	width:294px;
	padding-top:0;
	box-sizing: border-box;
}

/* 双日历模式下的特殊处理 */
.xndatepicker.daterange .date-item,
.xndatepicker.datetimerange .date-item,
.xndatepicker.monthrange .date-item,
.xndatepicker.yearrange .date-item {
	border-left: 1px solid #e2edff;
}

.xndatepicker.daterange .date-item:first-child,
.xndatepicker.datetimerange .date-item:first-child,
.xndatepicker.monthrange .date-item:first-child,
.xndatepicker.yearrange .date-item:first-child {
	border-left: none;
}

.xndatepicker .year-info span{
	cursor: pointer;
	margin:0 2px;
	letter-spacing: 0.5px;
	font-size: 16px;
}

.xndatepicker .year-info span:hover{
	color: #2264d1;
}

.xndatepicker .next>span:hover,.xndatepicker .prev>span:hover{
	color: #4a9bfe;
	cursor: pointer;
}

.xndatepicker .next,.xndatepicker .prev{
	color: #2264d1;
}

.xndatepicker .next span,.xndatepicker .prev span{
	font-size:11px;
}

.xndatepicker .next>span:before{
	transform: rotate(180deg);
	transform-origin: center;
	display: inline-block;
}

/* 悬停效果 */
.xndatepicker.week .dater>span.active-day:hover,.xndatepicker.week .dater>.hover,.xndatepicker .dater>.active-day.hover,.month-item.hover,.year-item.hover{
	background: rgb(233, 241 ,255);
	color:#2264d1;
}

.xndatepicker .cur-date,.xndatepicker .hover.cur-date,.xndatepicker .dater>span.cur-date.hover{
	background: #2264d1;
	color:#fff;
}

/* 年月选择列表 */
.year-list,.month-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 8px;
}

.year-list .year-item,.month-list .month-item{
	flex: 0 0 30%;
	height: 35px;
	line-height: 35px;
	text-align: center;
	cursor: pointer;
	margin: 5px 1%;
	font-size:11px;
	position: relative;
	border-radius: 4px;
}

.year-list .year-item.disable-year,.month-list .month-item.disable-month{
	color:#ccc;
}

.year-list .year-item.disable-year:hover,.month-list .month-item.disable-month:hover{
	background:none;
	color:#ccc;
	cursor: not-allowed;
}

.year-list .year-item:hover,.month-list .month-item:hover{
	background:#4a9bfe;
	color: #fff;
}

/* 日期网格容器 */
.xndatepicker .dater{
	font-size:12px;
	display: flex;
	flex-wrap: wrap;
	padding: 0 8px;
}

.xndatepicker .dater>span{
	flex:0 0 37px;
	width: 37px;
	text-align: center;
	line-height: 37px;
	margin:0 0;
	position: relative;
	overflow: hidden;
	font-size: 12px;
}

/* 时间选择器组件 */
.xntimepicker{
	position: fixed;
	background: #fff;
	padding: 8px;
	box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
	border-radius: 4px;
	z-index: 9;
	padding-bottom:0;
}

.xntimepicker div.time-cont{
	display: flex;
	justify-content: space-around;
}

.xntimepicker div.time-btns{
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size:11px;
}

.xntimepicker .cur-time{
	color: #2979ff;
}

.xntimepicker .confirm-time{
	color: #fff;
	line-height: 20px;
	padding: 0 7px;
	background: #2979ff;
	border-radius: 2px;
}

.xntimepicker .confirm-time:hover{
	background: #4a9bfe;
}

.xntimepicker ul{
	height: 150px;
	overflow: hidden;
	white-space: nowrap;
	border-right: 1px solid #d8d8d8;
	border-bottom: 1px solid #d8d8d8;
}

.xntimepicker ul:hover{
	overflow: auto;
	overflow: overlay;
}

.xntimepicker ul:last-child{
	border-right: 0;
}

.xntimepicker ul li{
	padding:0 20px 0 12px;
	color: rgba(0,0,0,.85);
	line-height: 24px;
	font-size:11px;
	cursor: pointer;
}

.xntimepicker ul li:hover{
	background: #879FFF;
	color: #fff;
}

.xntimepicker ul li.on{
	background: #2979ff;
	color: #fff;
}

/* 时间输入框 */
.timeitem .timecont{
	width: 90px;
	flex: 0 0 90px;
	height: 26px;
	border: 1px solid #eee;
	line-height: 26px;
	background: #fff;
	text-align: left;
	padding: 0 6px;
	box-sizing:border-box;
	cursor: pointer;
	position: relative;
	font-size: 12px;
}

.timeitem .timecont>span{
	line-height: 24px;
	position: absolute;
	top: 0;
}

.timeitem>input{
	border: 1px solid #eee;
	outline: none;
	line-height: 26px;
	flex: 0 0 90px;
	width: 90px;
	margin-right: 10px;
	padding:0 6px;
	font-size:12px;
	box-sizing:border-box;
}

.xndatepicker .month-info:hover{
	cursor: pointer;
	color:#2264d1;
}

/* 三角指示器 */
.xndatepicker .xntriangle{
	display: none;
	width:10px;
	height:10px;
	background: #fff;
	position: absolute;
	border: 1px solid #e2edff;
	transform: rotate(45deg);
}

/* 今天标记 */
.xndatepicker .is-today:after{
	content: '';
	display: block;
	width: 8px;
	height: 2px;
	background: #cf3824;
	position: absolute;
	bottom: 1px;
	left: calc(50% - 4px);
}

.xndatepicker .is-today{
	font-weight: bold;
}

/* 多选模式 */
.xndatepicker.multiple .day-item{
	border-radius:12px !important;
}

/* 双日历模式下的特殊样式 - 关键修复 */
.xndatepicker.daterange .date-main,
.xndatepicker.datetimerange .date-main,
.xndatepicker.monthrange .date-main,
.xndatepicker.yearrange .date-main {
    min-width: 588px; /* 294px * 2 */
}

.xndatepicker.daterange .datepicker,
.xndatepicker.datetimerange .datepicker,
.xndatepicker.monthrange .datepicker,
.xndatepicker.yearrange .datepicker {
    display: flex;
    width: 100%;
}

.xndatepicker.daterange .date-item,
.xndatepicker.datetimerange .date-item,
.xndatepicker.monthrange .date-item,
.xndatepicker.yearrange .date-item {
    width: 294px;
    flex-shrink: 0;
}

/* 月份选择器布局优化 */
.xndatepicker .month-list .month-item {
    flex: 0 0 30%;
    margin: 5px 1%;
    height: 32px;
    line-height: 32px;
    font-size: 11px;
}

/* 年份选择器布局优化 */
.xndatepicker .year-list .year-item {
    flex: 0 0 30%;
    margin: 5px 1%;
    height: 32px;
    line-height: 32px;
    font-size: 11px;
}

/* 隐藏快捷面板时的处理 */
.xndatepicker .shortcut:empty {
    display: none;
}

.xndatepicker:not(.daterange):not(.datetimerange):not(.monthrange):not(.yearrange) .date-main {
    min-width: 294px;
}

/* 双日历模式下时间选择器的调整 */
.xndatepicker.daterange .timepicker,
.xndatepicker.datetimerange .timepicker {
    padding: 4px 16px; /* 增加内边距以适应更宽的面板 */
}

/* 响应式调整 - 确保整体布局不会溢出 */
.xndatepicker {
    max-width: 90vw; /* 防止在小屏幕上溢出 */
}

/* 单日历模式下的确认按钮调整 */
.xndatepicker:not(.daterange):not(.datetimerange):not(.monthrange):not(.yearrange) .xn-bottom {
    padding: 0 8px;
}

/* 修复双日历模式下可能出现的布局问题 */
.xndatepicker.daterange .datepicker .date-item:last-child,
.xndatepicker.datetimerange .datepicker .date-item:last-child,
.xndatepicker.monthrange .datepicker .date-item:last-child,
.xndatepicker.yearrange .datepicker .date-item:last-child {
    border-left: 1px solid #e2edff;
}

/* 确保快捷面板和日期面板在不同模式下都能正确显示 */
.xndatepicker .xn-top {
    min-width: 294px; /* 单日历模式最小宽度 */
}

.xndatepicker.daterange .xn-top,
.xndatepicker.datetimerange .xn-top,
.xndatepicker.monthrange .xn-top,
.xndatepicker.yearrange .xn-top {
    min-width: 588px; /* 双日历模式最小宽度 */
}