/* 岗位招聘页面样式 */

.job-page {
	background: #F5F7FB;
}

/* 英雄区域 */
.job-hero-section {
	background: #2668FF;
	padding: 80px 0 90px;
	color: #fff;
}

.job-hero-inner {
	text-align: center;
	max-width: 820px;
	margin: 0 auto;
}

.job-hero-inner h1 {
	font-size: 46px;
	font-weight: bold;
	margin-bottom: 12px;
}

.job-hero-inner p {
	font-size: 18px;
	color: #fff;
	margin-bottom: 26px;
}

.job-search-bar {
	display: flex;
	align-items: center;
	background: #FFFFFF;
	width: 580px;
	margin: 0 auto;
	padding:0 5px;
	border-radius:10px;
	box-shadow: 0 10px 30px rgba(68, 91, 164, 0.15);
}

.job-search-input {
	flex: 1;
	height: 60px;
	border: none;
	padding: 0 10px;
	font-size: 16px;
	color: #1D2129;
}

.job-search-input::placeholder {
	color: #B0B8C4;
}

.job-search-btn {
	width: 90px;
	height: 50px;
	border-radius: 10px;
	background: #165DFF;
	border: none;
	color: #FFFFFF;
	font-size: 16px;
	cursor: pointer;
}
/* 职位列表 */
.common-filter-section{
	padding:40px 0;
}
.job-list-section {
	padding: 0 0 60px;
}

.job-grid.simple {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.job-card.simple {
	background: #FFFFFF;
	border-radius: 14px;
	border: 1px solid #EEF0F6;
	padding: 15px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* 卡片头部 */
.job-card-header {
	gap: 15px;
}

.job-card-header-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.job-card-title {
	font-size: 18px;
	font-weight: bold;
	color: #000000;
	margin: 0;
	line-height: 1.4;
}
.job-card-type {
	width: 62px;
	height: 35px;
	line-height: 35px;
	padding: 0 12px;
	text-align: center;
	font-size: 14px;
	color: #000;
	background: #F3F3F5;
	border-radius: 20px;
	white-space: nowrap;
}
.job-card-avatar {
	width: 35px;
	height: 35px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	border: 2px solid #FFFFFF;
	box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.13);
}

.job-card-title-info {
	flex: 1;
	display: flex;
	flex-direction: column;
}


.job-card-company {
	font-size: 12px;
	color: #666666;
}
.job-card-date {
	font-size: 12px;
	color: #86909C;
	white-space: nowrap;
}
.job-card-header-bottom {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	margin-top: 10px;
}



/* 职位描述 */
.job-card-desc {
	font-size: 14px;
	color: #86909C;
	line-height: 1.6;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 职位要求标签 */
.job-card-requirements {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.job-card-requirements li {
	padding: 4px 12px;
	font-size: 12px;
	color: #505E71;
	background: #F5F6F7;
	border-radius: 4px;
	white-space: nowrap;
}

/* 卡片底部 */
.job-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding-top: 20px;
	padding-bottom: 5px;
	margin-top: 5px;
	border-top: 1px solid #E5E6EB;
}

.job-card-salary {
	font-size: 18px;
	font-weight: bold;
	color: #165DFF;
	white-space: nowrap;
}

.job-card-actions {
	display: flex;
	gap: 10px;
}

.job-card-btn {
	padding: 8px 20px;
	font-size: 16px;
	border-radius: 30px;
	border: none;
	cursor: pointer;
	transition: all 0.3s;
	white-space: nowrap;
	font-family: Source Han Sans;
}

.job-card-btn-apply {
	background: rgba(22, 93, 255, 0.08);
	color: #165DFF;
}

.job-card-btn-apply:hover {
	background: #F0F5FF;
}

.job-card-btn-chat {
	border: 1px solid #165DFF;
	color: #165DFF;
}

/* 查看更多按钮 */
.job-more-section {
	text-align: center;
	margin-top: 40px;
	padding: 20px 0;
}

.job-more-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 40px;
	border: 1px solid #165DFF;
	border-radius: 10px;
	background: #FFFFFF;
	font-family: Source Han Sans;
	font-size: 16px;
	font-weight: normal;
	color: #165DFF;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.3s;
}

.job-more-btn:hover {
	background: #165DFF;
	color: #FFFFFF;
}

.job-more-btn img {
	width: 26px;
	height: 26px;
}


/* 岗位详情 */
.job-detail-page {
	background: #F5F7FB;
}

.job-detail-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 24px;
	padding-bottom: 60px;
}
.job-detail-main{
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.job-detail-card {
	background: #FFFFFF;
	border-radius: 18px;
	padding: 28px 20px;
	border: 1px solid #EEF0F6;
	box-shadow: 0px 12px 32px rgba(15, 30, 53, 0.05);
}

.job-hero-card {
	padding-bottom: 18px;
}

.job-hero-header {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.job-hero-title {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.job-hero-title h1 {
	font-size: 40px;
	font-weight: bold;
	color: #000;
	margin: 0;
}
.job-hero-salary {
	font-size: 26px;
	font-weight: bold;
	color: #165DFF;
	line-height: 1.4;
}

.job-hero-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
}

.job-tag {
	line-height: 1.4;
	font-size: 16px;
	color: #505E71;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.job-tag img{
	width: 15px;
}
.job-detail-card h2 {
	font-size: 18px;
	color: #000000;
	font-weight: bold;
	margin: 0 0 16px;
	display: flex;
	align-items: center;
	gap: 5px;
}
.job-detail-card h2 img{
	width: 18px;
}
.job-detail-list {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 16px;
	color: #3D3D3D;
	line-height: 1.8;
}
.job-detail-list-item:last-child{
	margin-top:30px;
}
.job-benefits {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
}

.job-benefit {
	padding: 6px 18px;
	border-radius: 30px;
	background: #F3F3F5;
	color: #6B7280;
	font-size: 12px;
}

.company-card h3 {
	font-size: 18px;
	color: #000000;
	margin: 28px 0 15px;
}

.company-card p {
	margin: 0;
	font-size: 16px;
	color: #3D3D3D;
	line-height: 1.8;
}

.company-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 22px;
}

.company-gallery img {
	width: 100%;
	object-fit: cover;
	border-radius: 20px;
}

.company-contact .company-contact-item{
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 5px;
}

.company-contact p {
	font-size: 16px;
	color: #3D3D3D;
}
.company-contact img{
	width: 15px;
}
.job-detail-sidebar {
	position: sticky;
	top: 110px;
	height: fit-content;
}

.recruiter-card {
	background: #FFFFFF;
	border-radius: 18px;
	padding: 24px;
	border: 1px solid #EEF0F6;
	box-shadow: 0px 12px 32px rgba(15, 30, 53, 0.05);
	display: flex;
	flex-direction: column;
}

.recruiter-info {
	display: flex;
	align-items: center;
	gap: 14px;
	border-bottom: 1px solid #E5E6EB;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

.recruiter-info img {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	object-fit: cover;
}

.recruiter-name {
	font-size: 20px;
	color: #000000;
	margin: 0 0 6px;
	display: flex;
	align-items: center;
	gap: 5px;
}

.recruiter-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 18px;
	color: #505E71;
}
.recruiter-badge {
	padding: 4px 10px;
	border-radius: 30px;
	background: #DCFCE7;
	color: #417C55;
	font-size: 14px;
}

.recruiter-detail {
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 14px;
	color: #505E71;
}
.recruiter-detail-item{
	display: flex;
	justify-content: space-between;
	gap: 5px;
	font-size: 16px;
	color: #000000;
}
.recruiter-detail .label {
	display: block;
	color: #3D3D3D;
	margin-bottom: 4px;
}
.recruiter-detail  p{
	flex:1;
	text-align: right;
}
.recruiter-actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 20px;
}
.job-detail-page .job-card-btn{
	border-radius: 10px;
	height:65px;
}
.job-card-btn.primary {
	border-radius: 10px;
	background: #165DFF;
	color: #FFFFFF;
	border: 1px solid #165DFF;
}


/* 我的招聘 */

.job-manage-page{
	min-height:100vh;
	padding-bottom:80px;
}
.job-card{
	background:#FFFFFF;
	border-radius:18px;
	box-shadow:0px 20px 40px rgba(12,22,42,0.08);
	padding:32px;
}
.job-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:24px;
}
.job-title{
	font-size:28px;
	font-weight:700;
	color:#1D2129;
}
.job-table{
	width:100%;
	border-collapse:collapse;
}
.job-table thead th{
	text-align:left;
	font-size:14px;
	color:#86909C;
	font-weight:500;
	padding-bottom:12px;
	border-bottom:1px solid #F0F1F5;
}
.job-table tbody tr{
	border-bottom:1px solid #F0F1F5;
}
.job-table td{
	padding:24px 0;
	vertical-align:middle;
	font-size:14px;
	color:#6B7280;
}
.job-info{
	display:flex;
	flex-direction:column;
	gap:10px;
	max-width: 300px;
}
.job-name{
	font-size:18px;
	font-weight:600;
	color:#1D2129;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.job-meta{
	display:flex;
	flex-wrap:wrap;
	gap:16px;
	font-size:14px;
	color:#86909C;
}
.job-meta span{
	display:flex;
	align-items:center;
	gap:6px;
}
.job-salary{
	font-size:18px;
	font-weight:600;
	color:#000000;
}
.job-views{
	font-size:18px;
	font-weight:600;
	color:#1D2129;
}
.status-tag{
	display:inline-flex;
	align-items:center;
	padding:4px 14px;
	border-radius:999px;
	font-size:14px;
	font-weight:500;
}
.status-tag.on{
	background: rgba(1, 160, 75, 0.1);
	color:#01A04B;
}
.status-tag.off{
	background: #FEF9C3;
	color:#A57A3D;
}
.applicant-link{
	color:#4E5969;
	cursor:pointer;
}
.job-actions{
	display:flex;
	gap:16px;
	font-size:14px;
}
.job-actions a{
	color:#4E5969;
	text-decoration:none;
}
.job-actions a:hover{
	color:#165DFF;
}
/* 申请人弹窗 */
.applicant-modal{
	position:fixed;
	inset:0;
	background:rgba(15,23,42,0.45);
	display:none;
	align-items:center;
	justify-content:center;
	z-index:3000;
}
.applicant-panel{
	width:420px;
	background:#FFFFFF;
	border-radius: 10px;
	box-shadow:0 30px 70px rgba(15,23,42,0.25);
}
.applicant-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:24px 28px 12px;
	font-size:18px;
	font-weight:600;
	color:#1D2129;
}
.applicant-close{
	width:20px;
	height:20px;
	cursor:pointer;
	position: relative;
}
.applicant-close::before{
	content: '';
	display: block;
	width:100%;
	height: 2px;
	background: #86909C;
	transform: rotate(45deg);
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
}
.applicant-close::after{
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: #86909C;
	transform: rotate(-45deg);
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
}
.applicant-body{
	padding:0 28px 28px;
	display:flex;
	flex-direction:column;
	gap:18px;
}
.applicant-item{
	display:flex;
	align-items:center;
	gap:12px;
	padding:12px 0;
	border-bottom:1px solid #F3F4F6;
}
.applicant-item:last-child{
	border-bottom:none;
}
.applicant-avatar{
	width:48px;
	height:48px;
	border-radius:50%;
	object-fit:cover;
}
.applicant-info{
	display:flex;
	flex-direction:column;
	gap:6px;
}
.applicant-name{
	font-size:16px;
	color:#1D2129;
	font-weight:600;
}
.applicant-phone{
	font-size:14px;
	color:#86909C;
}
.pagination{
	justify-content: flex-end;
	margin-top:30px;
}
/* 我申请的岗位 */
.job-grid-list {
	display: grid;
	grid-template-columns: repeat(2,minmax(0, 1fr));
	gap: 28px;
	padding:20px 50px;
}

.job-grid-list .job-card-item {
	background: #FFFFFF;
	border-radius: 10px;
	box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.05);
	padding:15px 15px 0;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.job-grid-list .job-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.job-grid-list .job-top h3 {
	font-family: Source Han Sans;
	font-size: 20px;
	font-weight: bold;
	color: #000000;
}

.job-grid-list .job-label {
	padding: 7px 17px;
	background: #F3F3F5;
	font-family: Source Han Sans;
	font-size: 14px;
	font-weight: normal;
	color: #000000;
	border-radius: 999px;
}
.job-grid-list .job-avatar{
	display: flex;
	align-items: center;
	gap: 10px;
}
.job-grid-list .job-avatar img{
	width:28px;
	height:28px;
	border-radius: 50%;
	box-sizing: border-box;
	border: 2px solid #FFFFFF;
	box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.13);
}
.job-grid-list .job-avatar .text-wrapper{
	display: flex;
	flex-direction: column;
	gap: 5px;
	flex:1;
	min-width: 0;
}
.job-grid-list .job-avatar .text{
	font-family: Source Han Sans;
	font-size: 12px;
	font-weight: normal;
	color: #666666;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}
.job-grid-list .job-avatar .time{
	font-family: Source Han Sans;
	font-size: 12px;
	font-weight: normal;
	color: #86909C;
}
.job-grid-list .job-card p {
	font-family: Source Han Sans;
	font-size: 14px;
	font-weight: normal;
	color: #86909C;
}

.job-grid-list .job-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding-bottom:5px;
}

.job-grid-list .job-tags li {
	padding: 6px 12px;
	background: #F3F3F5;
	border-radius: 5px;
	font-family: Source Han Sans;
	font-size: 12px;
	font-weight: normal;
	color: #3D3D3D;
}
.job-grid-list .job-footer{
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-top: 1px solid rgba(134, 144, 156, 0.15);
	padding:22px 0;
}
.job-grid-list .job-footer .job-salary {
	font-family: Source Han Sans;
	font-size: 18px;
	font-weight: bold;
	color: #165DFF;
}
.job-grid-list .job-footer .link-btn{
	width: 80px;
	height: 35px;
	line-height: 35px;
	text-align: center;
	border-radius: 100px;
	background: rgba(22, 93, 255, 0.08);
	box-sizing: border-box;
	font-family: Source Han Sans;
	font-size: 16px;
	font-weight: normal;
	color: #165DFF;
}
.job-grid-list .job-footer .link-btn.primary{
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid #165DFF;
}



.applied-page{
	min-height:100vh;
	padding-bottom:80px;
}
.applied-card{
	background:#FFFFFF;
	border-radius:18px;
	box-shadow:0px 20px 40px rgba(12,22,42,0.08);
	padding:32px;
}
.applied-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:24px;
}
.applied-title{
	font-size:28px;
	font-weight:700;
	color:#1D2129;
}

.applied-page .job-card-item{
	background:#FFFFFF;
	border:1px solid #EEF0F5;
	border-radius:16px;
	padding:24px;
	box-shadow:0 12px 30px rgba(16,30,54,0.08);
	display:flex;
	flex-direction:column;
	gap:18px;
}
.applied-page .job-desc{
	font-size:14px;
	line-height:1.7;
	color:#4E5969;
}