/* DHLL Job Board — front-end styles */

.dhll-jb-form {
	max-width: 560px;
	margin: 0 auto 2em;
}
.dhll-jb-form h3 { margin-bottom: .75em; }
.dhll-jb-form p { margin: 0 0 1em; }
.dhll-jb-form label {
	display: block;
	font-weight: 600;
	margin-bottom: .25em;
}
.dhll-jb-form input[type="text"],
.dhll-jb-form input[type="email"],
.dhll-jb-form input[type="password"],
.dhll-jb-form input[type="url"],
.dhll-jb-form input[type="date"],
.dhll-jb-form input[type="number"],
.dhll-jb-form textarea {
	width: 100%;
	padding: .6em .75em;
	border: 1px solid #ccd0d4;
	border-radius: 6px;
	box-sizing: border-box;
	font-size: 1em;
}
.dhll-jb-form textarea { resize: vertical; }
.dhll-jb-alt { font-size: .9em; }

/* Buttons */
.dhll-jb-btn {
	display: inline-block;
	background: #2271b1;
	color: #fff !important;
	padding: .65em 1.4em;
	border: none;
	border-radius: 6px;
	font-size: 1em;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s ease;
}
.dhll-jb-btn:hover { background: #135e96; }
.dhll-jb-btn-secondary { background: #50575e; }
.dhll-jb-btn-secondary:hover { background: #3c434a; }
.dhll-jb-btn-danger { background: #b32d2e; }
.dhll-jb-btn-danger:hover { background: #8a2424; }
.dhll-jb-btn-small { padding: .35em .8em; font-size: .85em; }

/* Notices */
.dhll-jb-notice {
	padding: .85em 1em;
	border-radius: 6px;
	margin: 0 0 1.25em;
	border-left: 4px solid;
}
.dhll-jb-notice-error { background: #fcf0f1; border-color: #b32d2e; color: #8a2424; }
.dhll-jb-notice-success { background: #edf7ed; border-color: #46b450; color: #1e6823; }

/* Jobs listing */
.dhll-jb-jobsearch {
	display: flex;
	gap: .5em;
	flex-wrap: wrap;
	margin-bottom: 1.5em;
}
.dhll-jb-jobsearch input,
.dhll-jb-jobsearch select {
	flex: 1 1 180px;
	padding: .6em .75em;
	border: 1px solid #ccd0d4;
	border-radius: 6px;
	background: #fff;
}
.dhll-jb-type-badge {
	display: inline-block;
	background: #e7f0fb;
	color: #135e96;
	font-size: .75em;
	font-weight: 600;
	padding: .2em .6em;
	border-radius: 4px;
}
.dhll-jb-form select {
	width: 100%;
	padding: .6em .75em;
	border: 1px solid #ccd0d4;
	border-radius: 6px;
	box-sizing: border-box;
	font-size: 1em;
	background: #fff;
}
.dhll-jb-job-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.25em;
}
.dhll-jb-card {
	position: relative;
	border: 1px solid #e2e4e7;
	border-radius: 10px;
	padding: 1.25em;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.dhll-jb-card-featured {
	border-color: #f0b849;
	background: #fffdf5;
	box-shadow: 0 2px 8px rgba(240,184,73,.25);
}
.dhll-jb-featured-badge {
	position: absolute;
	top: 1em; right: 1em;
	background: #f0b849;
	color: #4d3800;
	font-size: .7em;
	font-weight: 700;
	text-transform: uppercase;
	padding: .2em .6em;
	border-radius: 4px;
}
.dhll-jb-card-title { margin: 0 0 .5em; font-size: 1.15em; }
.dhll-jb-card-meta {
	list-style: none;
	margin: 0 0 1em;
	padding: 0;
	color: #50575e;
	font-size: .9em;
}
.dhll-jb-card-meta li { margin: .15em 0; }
.dhll-jb-company { font-weight: 600; color: #1d2327; }

.dhll-jb-pagination { margin-top: 2em; text-align: center; }
.dhll-jb-pagination .page-numbers {
	display: inline-block;
	padding: .4em .75em;
	margin: 0 .15em;
	border: 1px solid #ccd0d4;
	border-radius: 6px;
	text-decoration: none;
}
.dhll-jb-pagination .current { background: #2271b1; color: #fff; border-color: #2271b1; }

/* Dashboard */
.dhll-jb-dash-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: .5em;
}
.dhll-jb-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 1em;
	margin: 1.5em 0;
}
.dhll-jb-stat {
	background: #f6f7f7;
	border-radius: 10px;
	padding: 1.25em;
	text-align: center;
}
.dhll-jb-stat-num {
	display: block;
	font-size: 2em;
	font-weight: 700;
	color: #2271b1;
}
.dhll-jb-dash-actions { display: flex; gap: .75em; flex-wrap: wrap; margin-bottom: 2em; }
.dhll-jb-paywall {
	background: #f6f7f7;
	border-radius: 10px;
	padding: 1.5em;
	text-align: center;
}

/* Profile */
.dhll-jb-profile {
	border-top: 1px solid #e2e4e7;
	padding-top: 1.5em;
}
.dhll-jb-logo { max-width: 120px; height: auto; border-radius: 8px; }
.dhll-jb-profile ul { list-style: none; padding: 0; }

/* Tables */
.dhll-jb-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 1em;
}
.dhll-jb-table th,
.dhll-jb-table td {
	text-align: left;
	padding: .75em;
	border-bottom: 1px solid #e2e4e7;
}
.dhll-jb-row-actions { display: flex; gap: .5em; align-items: center; }
.dhll-jb-inline-form { display: inline; margin: 0; }
.dhll-jb-hint { font-size: .85em; color: #b32d2e; }
.dhll-jb-empty { color: #50575e; font-style: italic; }
