/* 团长端页面样式 */
.rl-card-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding-right:15px;
}

.rl-card-header .rl-card-title{
	font-size:15px;
	font-weight:600;
}

/* ---------- 搜索区 ---------- */
.rl-search .layui-form-item{
	margin-bottom:0;
}
.rl-search .layui-form-label{
	width:auto;
	padding:9px 10px 9px 0;
}
.rl-search .layui-input-inline{
	width:170px;
}
.rl-search .layui-btn{
	padding:0 18px;
}
.rl-search-actions .layui-btn + .layui-btn{
	margin-left:8px;
}
.rl-search .layui-input,
.rl-search .layui-select{
	height:38px;
	line-height:38px;
	border-radius:4px;
}

/* ---------- 表格 ---------- */
.rl-project{
	display:flex;
	align-items:center;
	gap:8px;
	overflow:hidden;
}
.rl-project-logo{
	width:22px;
	height:22px;
	border-radius:4px;
	object-fit:cover;
	background:#f2f3f5;
	flex:none;
}
.rl-project-name{
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.rl-fields{
	font-size:12px;
	line-height:20px;
	color:#5f6672;
	white-space:normal;
	word-break:break-word;
}
.rl-fields-row{
	white-space:pre-wrap;
	word-break:break-word;
}
.rl-fields-row + .rl-fields-row{
	margin-top:2px;
}
.rl-fields-name{
	color:#8a919f;
}
/* 多行报备内容撑开行高，并同步右侧固定列 */
.layui-table-body td[data-field="fields"] .layui-table-cell{
	height:auto !important;
	min-height:38px;
	line-height:20px;
	white-space:normal;
	overflow:visible;
	text-overflow:clip;
	padding-top:8px;
	padding-bottom:8px;
}
.layui-table-fixed-r .layui-table-body td .layui-table-cell{
	display:flex;
	align-items:center;
	justify-content:center;
}
.rl-muted{
	color:#a6adb9;
}

/* 表格横向滚动条（列多时可见，便于发现右侧列） */
.layui-table-main::-webkit-scrollbar{
	width:8px;
	height:8px;
}
.layui-table-main::-webkit-scrollbar-thumb{
	background:#e3e6eb;
	border-radius:4px;
}
.layui-table-main::-webkit-scrollbar-thumb:hover{
	background:#cfd4dc;
}

/* ---------- 状态 ---------- */
.rl-badge{
	display:inline-block;
	height:22px;
	line-height:22px;
	padding:0 8px;
	border-radius:11px;
	font-size:12px;
	white-space:nowrap;
}
.rl-badge--is-pass{
	color:#16b777;
	background:#e8f8f1;
}
.rl-badge--is-pending{
	color:#dc9b22;
	background:#fdf6ec;
}
.rl-badge--is-reject{
	color:#f56c6c;
	background:#fef0f0;
}
.rl-badge--is-evict,
.rl-badge--is-unknown{
	color:#909399;
	background:#f4f4f5;
}

/* reset.css 会把 primary 皮肤 checkbox 的文本块也染成主题色，这里还原 */
.rl-modal .layui-form-checkbox[lay-skin="primary"] > div,
.rl-modal .layui-form-checkbox[lay-skin="primary"].layui-form-checked > div{
	background-color: transparent !important;
	color: #5f6672;
}
.pear-admin-dark .rl-modal .layui-form-checkbox[lay-skin="primary"] > div,
.pear-admin-dark .rl-modal .layui-form-checkbox[lay-skin="primary"].layui-form-checked > div{
	color: #c9d1d9;
}

/* 弹窗按钮跟随主题色 */
.layui-layer-btn .layui-layer-btn0{
	background-color: var(--global-primary-color);
	border-color: var(--global-primary-color);
}

/* ---------- 弹窗 ---------- */
.rl-modal{
	padding:18px 22px 6px;
}
.rl-modal .layui-form-label{
	width:112px;
	padding-left:0;
	padding-right:12px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.rl-modal .layui-input-block{
	margin-left:140px;
}
.rl-modal .layui-input,
.rl-modal .layui-select{
	border-radius:4px;
}
.rl-modal .rl-form-item{
	margin-bottom:14px;
}
.rl-required{
	color:#f56c6c;
	margin-right:3px;
}
.rl-form-tip{
	margin:4px 0 0 140px;
	font-size:12px;
	line-height:18px;
	color:#a0a6b1;
}
.rl-modal-tip{
	margin:0 0 16px;
	padding:8px 12px;
	border-radius:4px;
	background:#f7f8fa;
	color:#6b7280;
	font-size:12px;
	line-height:20px;
}
.rl-modal-tip.is-error{
	background:#fef0f0;
	color:#f56c6c;
}
.rl-form-empty{
	padding:40px 0;
	text-align:center;
	color:#a0a6b1;
}

/* 批量报备 */
.rl-batch-toolbar{
	display:flex;
	align-items:center;
	gap:12px;
	margin:2px 0 18px;
}
.rl-batch-toolbar[hidden]{
	display:none;
}
.rl-batch-add-btn{
	flex:1;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	height:40px;
	border:1px dashed #d6d9df;
	border-radius:6px;
	background:#fafbfc;
	color:#6b7280;
	font-size:13px;
	cursor:pointer;
	transition:all .2s;
}
.rl-batch-add-btn:hover:not(:disabled){
	border-color:var(--global-primary-color);
	color:var(--global-primary-color);
	background:#fff;
}
.rl-batch-add-btn:disabled{
	opacity:.55;
	cursor:not-allowed;
}
.rl-batch-item + .rl-batch-item{
	margin-top:16px;
	padding-top:16px;
	border-top:1px dashed #eef0f3;
}
.rl-batch-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin:0 0 10px;
}
.rl-batch-single .rl-batch-head{
	display:none;
}
.rl-batch-title{
	font-size:13px;
	font-weight:600;
	color:#2f3542;
}
.rl-batch-remove{
	font-size:12px;
	color:#a0a6b1;
}
.rl-batch-remove:hover{
	color:#f56c6c;
}
.rl-batch-item.is-error{
	border-radius:6px;
	animation:rl-batch-error 2.4s ease;
}
@keyframes rl-batch-error{
	0%, 100%{ background:transparent; }
	15%, 70%{ background:#fff6f6; }
}

/* 报备说明（后台富文本） */
.rl-note{
	margin:0 0 18px;
	padding:12px 14px;
	border:1px solid #f0f1f3;
	border-radius:6px;
	background:#fafbfc;
	font-size:13px;
	line-height:22px;
	color:#5f6672;
	word-break:break-word;
}
.rl-note img{
	max-width:100%;
}
.rl-note p{
	margin:0 0 6px;
}
.rl-note p:last-child{
	margin-bottom:0;
}

/* ---------- 上传 ---------- */
.rl-upload{
	display:flex;
	align-items:flex-start;
	gap:12px;
}
.rl-upload-btn{
	position:relative;
	display:inline-flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:4px;
	width:120px;
	height:80px;
	border:1px dashed #d6d9df;
	border-radius:6px;
	background:#fafbfc;
	color:#8a919f;
	font-size:12px;
	cursor:pointer;
	overflow:hidden;
}
.rl-upload-btn:hover{
	border-color:var(--global-primary-color);
	color:var(--global-primary-color);
}
.rl-upload-btn .layui-icon{
	font-size:22px;
}
.rl-upload-btn.is-done{
	opacity:.72;
}
.rl-upload-input{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	opacity:0;
	cursor:pointer;
}
.rl-upload.is-loading .rl-upload-btn{
	opacity:.6;
	pointer-events:none;
}
.rl-upload-preview{
	position:relative;
	line-height:0;
}
.rl-upload-preview img{
	width:120px;
	height:80px;
	object-fit:cover;
	border:1px solid #eef0f3;
	border-radius:6px;
}
.rl-upload-remove{
	position:absolute;
	right:4px;
	top:4px;
	padding:1px 6px;
	border-radius:4px;
	background:rgba(0,0,0,.55);
	color:#fff;
	font-size:12px;
	line-height:18px;
}

/* ---------- 详情 ---------- */
.rl-detail{
	padding:2px 22px 20px;
	font-size:13px;
	color:#2f3542;
}
.rl-detail-head{
	display:flex;
	align-items:center;
	gap:12px;
	padding:16px 0;
	border-bottom:1px solid #f0f1f3;
}
.rl-detail-logo{
	width:44px;
	height:44px;
	border-radius:8px;
	object-fit:cover;
	background:#f2f3f5;
}
.rl-detail-title{
	font-size:16px;
	font-weight:600;
}
.rl-detail-meta{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:8px 20px;
	padding:14px 0;
	border-bottom:1px solid #f0f1f3;
}
.rl-detail-meta span{
	display:block;
}
.rl-detail-meta .k{
	color:#8a919f;
	font-size:12px;
	margin-bottom:2px;
}
.rl-detail-meta .v{
	color:#2f3542;
	word-break:break-all;
}
.rl-detail-fields{
	padding-top:6px;
}
.rl-detail-field{
	display:flex;
	gap:12px;
	padding:10px 0;
	border-bottom:1px dashed #f2f3f5;
}
.rl-detail-field:last-child{
	border-bottom:none;
}
.rl-detail-field .k{
	flex:none;
	width:110px;
	text-align:right;
	color:#8a919f;
}
.rl-detail-field .v{
	flex:1;
	min-width:0;
	word-break:break-word;
	white-space:pre-wrap;
}
.rl-detail-field .v.imgs{
	white-space:normal;
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
.rl-detail-field img{
	max-width:120px;
	max-height:120px;
	border:1px solid #eef0f3;
	border-radius:6px;
	cursor:zoom-in;
	object-fit:cover;
}
.rl-detail-empty{
	padding:30px 0;
	text-align:center;
	color:#a0a6b1;
}

/* ---------- 顶部用户 ---------- */
.rl-user-entry{
	display:flex!important;
	align-items:center;
	gap:8px;
}
.rl-avatar[hidden]{
	display:none;
}
.rl-avatar{
	width:30px;
	height:30px;
	border-radius:50%;
	object-fit:cover;
	background:#eef0f3;
	vertical-align:middle;
}
.rl-avatar.is-empty{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	color:#a0a6b1;
	font-size:16px;
}
.rl-nickname{
	display:inline-block;
	max-width:120px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	vertical-align:middle;
}
.rl-user-card{
	padding:10px 16px;
	line-height:22px;
	min-width:190px;
	font-size:13px;
}
.rl-user-card .rl-user-uid{
	color:#8a919f;
	font-size:12px;
}
.rl-user-card .rl-user-balance{
	color:#2f3542;
}
.rl-user-card .rl-user-balance em{
	font-style:normal;
	color:var(--global-primary-color);
	font-weight:600;
}

/* ---------- 登录页 ---------- */
.rl-login-form{
	width:100%;
	max-width:360px;
}
.rl-login-form .layui-input{
	height:44px;
	line-height:44px;
	padding-left:46px;
	background:#f7f8fa;
	border-color:transparent;
}
.rl-login-form .layui-input-wrap .layui-input{
	padding-left:46px;
}
.rl-login-form .layui-input:focus{
	background:#fff;
	border-color:var(--global-primary-color);
}
.rl-login-form .layui-input-wrap{
	position:relative;
	margin-bottom:18px;
}
.rl-login-form .layui-input-prefix,
.rl-login-form .layui-input-icon{
	position:absolute;
	left:0;
	right:auto;
	top:0;
	display:flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	padding:0;
	line-height:1;
	text-align:center;
	color:#a0a6b1;
	z-index:2;
	pointer-events:none;
}
.rl-login-form .layui-input-prefix .layui-icon,
.rl-login-form .layui-input-icon .layui-icon{
	font-size:18px;
	line-height:1;
	color:inherit;
}
.rl-login-form .layui-btn{
	width:100%;
	height:44px;
	line-height:44px;
	font-size:15px;
	letter-spacing:2px;
}
.rl-login-error{
	min-height:22px;
	margin:-6px 0 10px;
	font-size:13px;
	color:#f56c6c;
}
.rl-login-copyright{
	margin-top:24px;
	font-size:12px;
	color:#a0a6b1;
	text-align:center;
}

@media (max-width: 768px){
	.login-page .layui-row{
		height:auto;
		min-height:540px;
	}
}

/* ---------- 暗色适配 ---------- */
.pear-admin-dark .rl-field-value,
.pear-admin-dark .rl-detail,
.pear-admin-dark .rl-detail-meta .v,
.pear-admin-dark .rl-user-card .rl-user-balance,
.pear-admin-dark .rl-fields,
.pear-admin-dark .rl-note{
	color:#c9d1d9;
}
.pear-admin-dark .rl-modal-tip,
.pear-admin-dark .rl-note,
.pear-admin-dark .rl-upload-btn,
.pear-admin-dark .rl-batch-add-btn{
	background:#1b1f24;
	border-color:#2f353d;
}
.pear-admin-dark .rl-batch-title{
	color:#c9d1d9;
}
.pear-admin-dark .rl-batch-add-btn{
	color:#a9b1bd;
}
.pear-admin-dark .rl-batch-add-btn:hover:not(:disabled){
	background:#222830;
	color:var(--global-primary-color);
}
.pear-admin-dark .rl-batch-remove{
	color:#8b949e;
}
.pear-admin-dark .rl-batch-item + .rl-batch-item{
	border-top-color:#2a3038;
}
.pear-admin-dark .rl-batch-item.is-error{
	animation-name:rl-batch-error-dark;
}
@keyframes rl-batch-error-dark{
	0%, 100%{ background:transparent; }
	15%, 70%{ background:#2a1f22; }
}
.pear-admin-dark .rl-detail-head,
.pear-admin-dark .rl-detail-meta{
	border-color:#252a31;
}
