/*
 * DECOR PAINT Industrial Painters - frontend
 * Every rule is contained by the plugin root or its managed-page body class.
 */

.dpip {
	--dpip-blue: #174f98;
	--dpip-blue-dark: #0d3b75;
	--dpip-blue-deep: #082f60;
	--dpip-blue-soft: #edf5ff;
	--dpip-yellow: #ffc501;
	--dpip-yellow-dark: #e2ad00;
	--dpip-yellow-soft: #fff8d6;
	--dpip-ink: #172b3f;
	--dpip-muted: #5c6d7f;
	--dpip-line: #d8e3ef;
	--dpip-soft: #f4f8fc;
	--dpip-white: #fff;
	--dpip-success: #177245;
	--dpip-success-soft: #eaf8f0;
	--dpip-warning: #986600;
	--dpip-warning-soft: #fff5d8;
	--dpip-danger: #b42318;
	--dpip-danger-soft: #fff0ee;
	--dpip-shadow-sm: 0 8px 24px rgba(18, 50, 82, 0.08);
	--dpip-shadow: 0 18px 48px rgba(18, 50, 82, 0.12);
	--dpip-radius-sm: 10px;
	--dpip-radius: 16px;
	--dpip-radius-lg: 24px;
	color: var(--dpip-ink);
	font-family: "DPIP Be Vietnam Pro", "Segoe UI", Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	min-width: 0;
	overflow-wrap: anywhere;
}

.dpip,
.dpip *,
.dpip *::before,
.dpip *::after {
	box-sizing: border-box;
}

.dpip a {
	color: var(--dpip-blue);
	text-decoration: none;
}

.dpip img,
.dpip svg {
	display: block;
	max-width: 100%;
}

.dpip h1,
.dpip h2,
.dpip h3,
.dpip h4,
.dpip p,
.dpip ul,
.dpip ol,
.dpip figure {
	margin-block-start: 0;
}

.dpip h1,
.dpip h2,
.dpip h3,
.dpip h4 {
	color: var(--dpip-ink);
	font-family: inherit;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.25;
}

.dpip h1 {
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.dpip h2 {
	font-size: clamp(1.45rem, 2.25vw, 2.05rem);
}

.dpip h3 {
	font-size: clamp(1.05rem, 1.5vw, 1.28rem);
}

.dpip-shell {
	margin-inline: auto;
	max-width: 1220px;
	padding-inline: clamp(16px, 3vw, 30px);
	width: 100%;
}

.dpip-main {
	padding-block: clamp(28px, 5vw, 64px);
}

.dpip-svg {
	flex: 0 0 auto;
	height: 1.2em;
	width: 1.2em;
}

.dpip-eyebrow,
.dpip-kicker {
	color: var(--dpip-blue);
	display: inline-flex;
	font-size: .8125rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.35;
	text-transform: uppercase;
}

.dpip-eyebrow {
	background: var(--dpip-yellow);
	border-radius: 999px;
	color: var(--dpip-blue-deep);
	padding: 7px 12px;
}

.dpip-muted,
.dpip-footnote {
	color: var(--dpip-muted);
}

.dpip-footnote {
	border-top: 1px solid var(--dpip-line);
	font-size: 0.82rem;
	margin: 20px 0 0;
	padding-top: 14px;
}

.dpip-managed-page .entry-content,
.dpip-managed-page .site-main,
.dpip-managed-page .content-area {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

body.dpip-managed-page {
	overflow-x: clip;
}

body.dpip-managed-page #primary.sdd-standard-page {
	max-width: none;
	width: 100%;
}

/*
 * The DECOR PAINT page template wraps ordinary pages in a 970px
 * .sdd-narrow-shell. Managed DPIP pages use the normal 1200px website shell;
 * the body class keeps this override away from every unrelated page.
 */
body.dpip-managed-page #primary.sdd-standard-page > .sdd-narrow-shell {
	margin-inline: auto;
	max-width: var(--sdd-shell, 1200px);
	padding-inline: 0;
	width: min(calc(100% - 30px), var(--sdd-shell, 1200px));
}

body.dpip-managed-page #primary.sdd-standard-page .sdd-page-article,
body.dpip-managed-page #primary.sdd-standard-page .sdd-page-content {
	max-width: none;
	min-width: 0;
	width: 100%;
}

body.dpip-managed-page .dpip-main {
	padding-block: clamp(20px, 3vw, 34px);
}

body.dpip-directory-page #primary.sdd-standard-page {
	padding: 0 0 50px;
}

body.dpip-directory-page #primary.sdd-standard-page > .sdd-narrow-shell {
	margin-inline: auto;
	max-width: var(--sdd-shell, 1200px);
	padding-inline: 0;
}

body.dpip-directory-page #primary.sdd-standard-page .sdd-page-article,
body.dpip-directory-page #primary.sdd-standard-page .sdd-page-content {
	margin: 0;
	max-width: none;
	min-width: 0;
	padding: 0;
	width: 100%;
}

body.dpip-directory-page #primary.sdd-standard-page > .sdd-narrow-shell > .sdd-page-article > .sdd-page-header {
	display: none;
}

body.dpip-directory-page #primary.sdd-standard-page .sdd-page-content > .dpip-directory {
	margin: 0;
	max-width: none;
	width: 100%;
}

.dpip-managed-page .entry-content > .dpip {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

/* Every managed application uses the same 1200px content line as the website. */
body.dpip-managed-page .entry-content > .dpip .dpip-shell,
body.dpip-managed-page .entry-content > .dpip.dpip-shell {
	margin-inline: auto;
	max-width: var(--sdd-shell, 1200px);
	padding-inline: 0;
	width: min(calc(100% - 30px), var(--sdd-shell, 1200px));
}

/* Keep the public painter directory aligned to the website's 1200px content shell. */
.dpip-directory .dpip-shell {
	max-width: var(--sdd-shell, 1200px);
	padding-inline: 0;
	width: calc(100% - 30px);
}

/* The province index is appended after the directory by the nationwide module. */
.dpip-managed-page .entry-content > .dpip-directory + .dpip-growth-province-index,
body.dpip-directory-page .sdd-page-content > .dpip-directory + .dpip-growth-province-index {
	margin: 30px auto 0;
	max-width: var(--sdd-shell, 1200px);
	padding-inline: 0;
	width: calc(100% - 30px);
}

.dpip-btn {
	align-items: center;
	appearance: none;
	border: 1px solid transparent;
	border-radius: 12px;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 0.92rem;
	font-weight: 800;
	gap: 8px;
	justify-content: center;
	line-height: 1.25;
	min-height: 46px;
	padding: 11px 18px;
	text-align: center;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
}

.dpip-btn:hover {
	transform: translateY(-1px);
}

.dpip-btn:active {
	transform: translateY(0);
}

.dpip-btn--blue {
	background: var(--dpip-blue);
	box-shadow: 0 8px 20px rgba(23, 79, 152, 0.2);
	color: var(--dpip-white) !important;
}

.dpip-btn--blue:hover {
	background: var(--dpip-blue-dark);
}

.dpip-btn--yellow {
	background: var(--dpip-yellow);
	box-shadow: 0 8px 20px rgba(255, 197, 1, 0.2);
	color: var(--dpip-blue-deep) !important;
}

.dpip-btn--yellow:hover {
	background: #ffd135;
}

.dpip-btn--outline {
	background: var(--dpip-white);
	border-color: #abc3de;
	color: var(--dpip-blue) !important;
}

.dpip-btn--outline:hover {
	background: var(--dpip-blue-soft);
	border-color: var(--dpip-blue);
}

.dpip-btn--ghost {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.42);
	color: var(--dpip-white) !important;
}

.dpip-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.72);
}

.dpip-btn--block {
	width: 100%;
}

.dpip :where(a, button, input, select, textarea, summary):focus-visible {
	box-shadow: 0 0 0 3px rgba(255, 197, 1, 0.9), 0 0 0 6px rgba(23, 79, 152, 0.55);
	outline: 0;
}

.dpip-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.dpip-hero {
	background:
		radial-gradient(circle at 88% 10%, rgba(255, 197, 1, 0.2), transparent 27%),
		linear-gradient(130deg, var(--dpip-blue-deep), var(--dpip-blue) 72%, #2469aa);
	color: var(--dpip-white);
	overflow: hidden;
	position: relative;
}

.dpip-hero::after {
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	content: "";
	height: 420px;
	position: absolute;
	right: -170px;
	top: -210px;
	width: 420px;
}

.dpip-hero__grid {
	display: grid;
	gap: clamp(32px, 6vw, 76px);
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
	padding-block: clamp(58px, 8vw, 96px);
	position: relative;
	z-index: 1;
}

.dpip-hero h1,
.dpip-compact-hero h1 {
	color: var(--dpip-white);
	margin: 18px 0 16px;
}

.dpip-hero__grid > div:first-child > p,
.dpip-compact-hero p {
	color: rgba(255, 255, 255, 0.84);
	font-size: clamp(1rem, 1.35vw, 1.14rem);
	margin-bottom: 26px;
	max-width: 720px;
}

.dpip-hero__trust {
	align-self: center;
	background: rgba(255, 255, 255, 0.09);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--dpip-radius-lg);
	box-shadow: 0 24px 70px rgba(0, 24, 60, 0.24);
	padding: 10px 22px;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.dpip-hero__trust > div {
	align-items: start;
	display: grid;
	gap: 2px 14px;
	grid-template-columns: 40px minmax(0, 1fr);
	padding: 17px 0;
}

.dpip-hero__trust > div + div {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.dpip-hero__trust .dpip-svg {
	background: var(--dpip-yellow);
	border-radius: 12px;
	color: var(--dpip-blue-deep);
	grid-row: 1 / span 2;
	height: 40px;
	padding: 9px;
	width: 40px;
}

.dpip-hero__trust strong {
	color: var(--dpip-white);
	font-size: 0.98rem;
}

.dpip-hero__trust span {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.84rem;
}

/* Compact, high-contrast directory hero; other managed plugin pages are unchanged. */
.dpip-directory .dpip-hero__grid {
	gap: clamp(22px, 3.2vw, 38px);
	grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.7fr);
	padding-block: clamp(28px, 4vw, 44px);
}

.dpip-directory .dpip-hero h1 {
	font-size: clamp(1.95rem, 3.1vw, 2.75rem);
	margin: 12px 0 10px;
	max-width: none;
	white-space: nowrap;
}

.dpip-directory .dpip-hero__grid > div:first-child > p {
	font-size: clamp(0.94rem, 1.1vw, 1.02rem);
	line-height: 1.55;
	margin-bottom: 16px;
	max-width: 680px;
}

.dpip-directory .dpip-hero__trust {
	border-radius: 18px;
	padding: 4px 15px;
}

.dpip-directory .dpip-hero__trust > div {
	grid-template-columns: 46px minmax(0, 1fr);
	padding: 10px 0;
}

.dpip-directory .dpip-hero__trust .dpip-svg {
	border-radius: 10px;
	height: 34px;
	padding: 7px;
	width: 34px;
}

.dpip-directory .dpip-hero__trust strong {
	font-size: 0.9rem;
	line-height: 1.3;
}

.dpip-directory .dpip-hero__trust span {
	font-size: .8125rem;
	line-height: 1.45;
}

.dpip-directory .dpip-actions {
	gap: 14px;
}

.dpip-directory .dpip-actions .dpip-btn {
	border-radius: 12px;
	border-width: 2px;
	font-size: 0.92rem;
	min-height: 52px;
	padding: 11px 20px;
}

.dpip-directory .dpip-actions .dpip-btn--yellow {
	border-color: #ffe270;
	box-shadow: 0 13px 30px rgba(255, 197, 1, 0.3);
}

.dpip-directory .dpip-actions .dpip-btn--ghost {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.72);
	box-shadow: 0 13px 30px rgba(0, 28, 67, 0.18);
}

.dpip-directory-nav {
	background:
		radial-gradient(circle at 96% 0, rgba(255, 197, 1, 0.14), transparent 28%),
		linear-gradient(180deg, #f8fbff, #eef5fc);
	border-bottom: 1px solid var(--dpip-line);
}

.dpip-directory-nav > .dpip-shell {
	padding-block: clamp(14px, 2vw, 20px);
}

.dpip-directory-nav__head {
	display: grid;
	gap: 4px;
	margin-bottom: 10px;
	max-width: 820px;
}

.dpip-directory-nav__head h2 {
	font-size: clamp(1.25rem, 1.9vw, 1.65rem);
	margin: 0;
}

.dpip-directory-nav__head p {
	color: var(--dpip-muted);
	font-size: 0.88rem;
	line-height: 1.5;
	margin: 0;
}

.dpip-directory-nav__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dpip-directory-nav__item {
	align-items: center;
	background: var(--dpip-white);
	border: 1px solid #cadaeb;
	border-radius: 11px;
	box-shadow: 0 8px 22px rgba(17, 57, 99, 0.07);
	color: var(--dpip-ink) !important;
	display: grid;
	flex: 1 1 calc(25% - 8px);
	gap: 8px;
	grid-template-columns: 36px minmax(0, 1fr) 18px;
	min-height: 70px;
	min-width: 0;
	padding: 9px 10px;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.dpip-directory-nav__item:hover {
	border-color: var(--dpip-blue);
	box-shadow: 0 14px 30px rgba(17, 57, 99, 0.13);
	transform: translateY(-2px);
}

.dpip-directory-nav__item.is-current {
	background: linear-gradient(135deg, #fffdf2, var(--dpip-yellow-soft));
	border-color: var(--dpip-yellow-dark);
	box-shadow: 0 12px 28px rgba(226, 173, 0, 0.16);
}

.dpip-directory-nav__icon {
	align-items: center;
	background: var(--dpip-blue-soft);
	border-radius: 11px;
	color: var(--dpip-blue);
	display: flex;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.dpip-directory-nav__item.is-current .dpip-directory-nav__icon {
	background: var(--dpip-blue);
	color: var(--dpip-white);
}

.dpip-directory-nav__icon .dpip-svg {
	height: 20px;
	width: 20px;
}

.dpip-directory-nav__copy {
	display: block;
	min-width: 0;
}

.dpip-directory-nav__copy strong,
.dpip-directory-nav__copy small {
	display: block;
	overflow-wrap: anywhere;
}

.dpip-directory-nav__copy strong {
	color: var(--dpip-blue-deep);
	font-size: 0.84rem;
	line-height: 1.35;
}

.dpip-directory-nav__copy small {
	color: var(--dpip-muted);
	font-size: .8125rem;
	line-height: 1.4;
	margin-top: 2px;
}

.dpip-directory-nav__arrow {
	align-items: center;
	background: var(--dpip-soft);
	border-radius: 50%;
	color: var(--dpip-blue);
	display: flex;
	font-size: 1rem;
	font-weight: 800;
	height: 20px;
	justify-content: center;
	width: 20px;
}

.dpip-directory .dpip-filter {
	gap: 12px;
	margin-bottom: clamp(22px, 3vw, 30px);
	padding: clamp(15px, 2vw, 20px);
}

.dpip-directory .dpip-filter > .dpip-btn {
	border-width: 2px;
	box-shadow: 0 11px 24px rgba(23, 79, 152, 0.24);
	min-height: 48px;
}

.dpip-managed-page .entry-content > .dpip-directory + .dpip-growth-province-index .dpip-growth-section-head > div > span,
body.dpip-directory-page .sdd-page-content > .dpip-directory + .dpip-growth-province-index .dpip-growth-section-head > div > span {
	background: #174f98;
	border: 1px solid #0d3b75;
	border-radius: 999px;
	box-shadow: 0 8px 20px rgba(23, 79, 152, 0.2);
	color: #fff;
	display: inline-flex;
	padding: 7px 12px;
}

.dpip-compact-hero {
	background:
		radial-gradient(circle at 88% 0, rgba(255, 197, 1, 0.2), transparent 26%),
		linear-gradient(125deg, var(--dpip-blue-deep), var(--dpip-blue));
	color: var(--dpip-white);
}

.dpip-compact-hero .dpip-shell {
	padding-block: clamp(38px, 5vw, 60px);
}

.dpip-compact-hero__row {
	align-items: center;
	display: flex;
	gap: 28px;
	justify-content: space-between;
}

.dpip-compact-hero__row > div:first-child {
	min-width: 0;
}

.dpip-compact-hero__row p {
	margin-bottom: 0;
}

/* Keep the job-board title compact without changing headings on other pages. */
body.dpip-job-board-page #primary.sdd-standard-page > .sdd-narrow-shell > .sdd-page-article > .sdd-page-header h1 {
	font-size: clamp(1.65rem, 2.3vw, 2rem);
	font-weight: 800;
	letter-spacing: -.018em;
	line-height: 1.22;
	margin: 0 0 14px;
	text-shadow: none;
}

.dpip-job-board .dpip-compact-hero h1 {
	font-size: clamp(1.65rem, 2.8vw, 2.2rem);
	letter-spacing: -.02em;
	line-height: 1.2;
	margin: 8px 0 6px;
	text-shadow: none;
}

.dpip-filter {
	align-items: end;
	background: var(--dpip-white);
	border: 1px solid var(--dpip-line);
	border-radius: var(--dpip-radius);
	box-shadow: var(--dpip-shadow-sm);
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(225px, 1.35fr) repeat(3, minmax(145px, 0.85fr)) auto;
	margin-bottom: clamp(32px, 5vw, 54px);
	padding: clamp(16px, 2.5vw, 24px);
}

.dpip-filter--compact {
	grid-template-columns: repeat(2, minmax(180px, 1fr)) auto;
	margin-bottom: 32px;
}

.dpip-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
	min-width: 0;
}

.dpip-field label,
.dpip-field legend,
.dpip-review-form label {
	color: var(--dpip-ink);
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.4;
}

.dpip-field em {
	color: var(--dpip-danger);
	font-style: normal;
}

.dpip-field input:not([type="checkbox"]):not([type="radio"]),
.dpip-field select,
.dpip-field textarea,
.dpip-review-form input,
.dpip-review-form select,
.dpip-review-form textarea {
	appearance: none;
	background: var(--dpip-white);
	border: 1px solid #b9cadb;
	border-radius: var(--dpip-radius-sm);
	box-shadow: none;
	color: var(--dpip-ink);
	font: inherit;
	font-size: 0.95rem;
	line-height: 1.4;
	margin: 0;
	max-width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	width: 100%;
}

.dpip-field select,
.dpip-review-form select {
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23174f98' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: right 12px center;
	background-repeat: no-repeat;
	background-size: 12px 8px;
	padding-inline-end: 34px;
}

.dpip-field select[multiple],
.dpip-field select[size]:not([size="1"]),
.dpip-review-form select[multiple],
.dpip-review-form select[size]:not([size="1"]) {
	-webkit-appearance: auto;
	appearance: auto;
	background-image: none;
	padding-inline-end: 12px;
}

.dpip-field textarea,
.dpip-review-form textarea {
	min-height: 116px;
	resize: vertical;
}

.dpip-field input::placeholder,
.dpip-field textarea::placeholder {
	color: #8796a5;
	opacity: 1;
}

.dpip-field input:hover,
.dpip-field select:hover,
.dpip-field textarea:hover {
	border-color: #7fa3c9;
}

.dpip-field small {
	color: var(--dpip-muted);
	font-size: .8125rem;
}

.dpip-field fieldset {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.dpip-date-picker,
.dpip-surface-condition {
	min-width: 0;
}

.dpip-date-picker__controls {
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.1fr) minmax(0, 1fr);
}

.dpip-date-picker__controls label,
.dpip-surface-condition > label {
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
}

.dpip-date-picker__controls select {
	background-position: right 8px center;
	min-width: 0;
	padding-inline-end: 26px;
}

.dpip-date-picker__help,
.dpip-date-picker__warning,
.dpip-date-picker__status,
.dpip-surface-condition > small {
	display: block;
	line-height: 1.45;
	margin-top: 3px;
}

.dpip-date-picker__warning,
.dpip-date-picker__status.is-error {
	color: var(--dpip-danger, #a61b2b);
	font-weight: 700;
}

.dpip-date-picker__status.is-valid {
	color: #157347;
	font-weight: 700;
}

.dpip-date-picker [aria-invalid="true"],
.dpip-surface-condition select:invalid {
	border-color: var(--dpip-danger, #a61b2b);
}

.dpip-surface-condition__legacy {
	background: #fff8d7;
	border-left: 3px solid var(--dpip-yellow, #ffc501);
	border-radius: 4px;
	padding: 7px 9px;
}

.dpip-results-head,
.dpip-panel-head {
	align-items: end;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 20px;
}

.dpip-results-head h2,
.dpip-panel-head h2 {
	margin: 5px 0 0;
}

.dpip-reset {
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.dpip-card-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dpip-card {
	background: var(--dpip-white);
	border: 1px solid var(--dpip-line);
	border-radius: var(--dpip-radius);
	box-shadow: var(--dpip-shadow-sm);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.dpip-card:hover {
	border-color: #a9c1da;
	box-shadow: var(--dpip-shadow);
	transform: translateY(-3px);
}

.dpip-card__media {
	align-items: center;
	background:
		radial-gradient(circle at 84% 18%, rgba(255, 197, 1, 0.22), transparent 28%),
		linear-gradient(145deg, #f3f8ff, #fffdf2);
	color: var(--dpip-muted) !important;
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	font-size: 0.82rem;
	gap: 10px;
	justify-content: center;
	min-height: 220px;
	overflow: hidden;
	padding: 14px;
}

.dpip-card__media img {
	height: 220px;
	object-fit: contain;
	object-position: center;
	width: 100%;
}

.dpip-monogram {
	align-items: center;
	background: linear-gradient(145deg, var(--dpip-blue), var(--dpip-blue-dark));
	border-bottom: 4px solid var(--dpip-yellow);
	border-radius: 18px;
	box-shadow: 0 12px 28px rgba(23, 79, 152, 0.2);
	color: var(--dpip-white);
	display: flex;
	font-size: 1.55rem;
	font-weight: 900;
	height: 76px;
	justify-content: center;
	letter-spacing: 0.04em;
	width: 76px;
}

.dpip-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	padding: 20px;
}

.dpip-card__verified,
.dpip-verified-label {
	align-items: center;
	color: var(--dpip-success);
	display: inline-flex;
	font-size: .8125rem;
	font-weight: 800;
	gap: 6px;
	letter-spacing: 0.055em;
	line-height: 1.4;
	text-transform: uppercase;
}

.dpip-card__verified .dpip-svg,
.dpip-verified-label .dpip-svg {
	height: 18px;
	width: 18px;
}

.dpip-card h3 {
	margin: 9px 0 6px;
}

.dpip-card h3 a {
	color: var(--dpip-ink);
}

.dpip-card__meta {
	align-items: start;
	color: var(--dpip-muted);
	display: flex;
	font-size: 0.86rem;
	gap: 6px;
	margin: 0 0 14px;
}

.dpip-card__meta .dpip-svg {
	color: var(--dpip-blue);
	margin-top: 2px;
}

.dpip-chips,
.dpip-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.dpip-chips > span {
	background: var(--dpip-blue-soft);
	border: 1px solid #d5e6f8;
	border-radius: 999px;
	color: var(--dpip-blue-dark);
	font-size: .8125rem;
	font-weight: 700;
	line-height: 1.35;
	padding: 5px 9px;
}

.dpip-chips > .dpip-chip--soft {
	background: var(--dpip-soft);
	color: var(--dpip-muted);
}

.dpip-chips--large > span {
	font-size: 0.82rem;
	padding: 7px 11px;
}

.dpip-card__facts {
	border-bottom: 1px solid var(--dpip-line);
	border-top: 1px solid var(--dpip-line);
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin: 16px 0;
	padding: 12px 0;
}

.dpip-card__facts > span {
	align-items: center;
	color: var(--dpip-muted);
	display: flex;
	font-size: 0.82rem;
	gap: 5px;
}

.dpip-card__facts .dpip-svg {
	color: var(--dpip-yellow-dark);
}

.dpip-card__facts strong {
	color: var(--dpip-ink);
}

.dpip-badge {
	align-items: center;
	background: var(--dpip-yellow-soft);
	border: 1px solid #ffe172;
	border-radius: 999px;
	color: #6e5100;
	display: inline-flex;
	font-size: .8125rem;
	font-weight: 800;
	gap: 6px;
	line-height: 1.35;
	padding: 5px 9px;
}

.dpip-card__actions {
	display: grid;
	gap: 9px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: auto;
	padding-top: 18px;
}

.dpip-steps {
	background: linear-gradient(135deg, var(--dpip-blue-deep), var(--dpip-blue));
	border-radius: var(--dpip-radius);
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(22px, 3vw, 32px);
	overflow: hidden;
}

.dpip-steps > div,
.dpip-steps > li {
	align-content: center;
	color: rgba(255, 255, 255, 0.76);
	display: grid;
	gap: 2px 12px;
	grid-template-columns: 34px minmax(0, 1fr);
	list-style: none;
	min-width: 0;
	padding: clamp(15px, 2vw, 20px);
}

.dpip-steps > div + div,
.dpip-steps > li + li {
	border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.dpip-steps > div > span,
.dpip-steps > li > span {
	align-items: center;
	background: var(--dpip-yellow);
	border-radius: 50%;
	color: var(--dpip-blue-deep);
	display: flex;
	font-size: .8125rem;
	font-weight: 900;
	grid-row: 1 / span 2;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.dpip-steps h3 {
	color: var(--dpip-white);
	font-size: 1rem;
	line-height: 1.3;
	margin: 0;
}

.dpip-steps p {
	font-size: .8125rem;
	line-height: 1.45;
	margin-bottom: 0;
}

.dpip-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 30px;
}

.dpip-pagination .page-numbers {
	align-items: center;
	background: var(--dpip-white);
	border: 1px solid var(--dpip-line);
	border-radius: 9px;
	color: var(--dpip-blue);
	display: inline-flex;
	font-size: 0.88rem;
	font-weight: 700;
	height: 40px;
	justify-content: center;
	min-width: 40px;
	padding: 0 10px;
}

.dpip-pagination .current {
	background: var(--dpip-blue);
	border-color: var(--dpip-blue);
	color: var(--dpip-white);
}

.dpip-empty {
	align-items: center;
	background: var(--dpip-soft);
	border: 1px dashed #abc3de;
	border-radius: var(--dpip-radius);
	display: flex;
	flex-direction: column;
	padding: clamp(22px, 3.5vw, 34px) 20px;
	text-align: center;
}

.dpip-empty--small {
	padding: 22px 16px;
}

.dpip-empty h1,
.dpip-empty h2 {
	margin: 8px 0 6px;
}

.dpip-empty p {
	color: var(--dpip-muted);
	margin-bottom: 14px;
	max-width: 620px;
}

.dpip-empty--small p {
	margin: 0;
}

.dpip-icon {
	align-items: center;
	background: var(--dpip-blue-soft);
	border-radius: 50%;
	color: var(--dpip-blue);
	display: flex;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.dpip-icon .dpip-svg {
	height: 28px;
	width: 28px;
}

.dpip-notice {
	border: 1px solid;
	border-left-width: 5px;
	border-radius: var(--dpip-radius-sm);
	font-size: 0.92rem;
	font-weight: 700;
	margin: 16px auto;
	max-width: 1160px;
	padding: 13px 16px;
}

.dpip-notice--success {
	background: var(--dpip-success-soft);
	border-color: #78c79b;
	color: #0e5c38;
}

.dpip-notice--warning {
	background: var(--dpip-warning-soft);
	border-color: #ebc357;
	color: #785000;
}

.dpip-notice--error {
	background: var(--dpip-danger-soft);
	border-color: #e99c96;
	color: var(--dpip-danger);
}

.dpip-breadcrumb {
	align-items: center;
	color: var(--dpip-muted);
	display: flex;
	font-size: 0.84rem;
	gap: 8px;
	margin-bottom: 24px;
}

.dpip-profile-head {
	align-items: center;
	background:
		radial-gradient(circle at 92% 8%, rgba(255, 197, 1, 0.18), transparent 25%),
		linear-gradient(135deg, var(--dpip-blue-deep), var(--dpip-blue));
	border-radius: var(--dpip-radius-lg);
	color: var(--dpip-white);
	display: grid;
	gap: clamp(22px, 4vw, 42px);
	grid-template-columns: 190px minmax(0, 1fr);
	margin-bottom: 28px;
	padding: clamp(22px, 4vw, 42px);
}

.dpip-profile-head__avatar {
	align-items: center;
	background: rgba(255, 255, 255, 0.1);
	border: 4px solid rgba(255, 255, 255, 0.74);
	border-radius: 22px;
	display: flex;
	height: 190px;
	justify-content: center;
	overflow: hidden;
	width: 190px;
}

.dpip-profile-head__avatar img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.dpip-profile-head__copy .dpip-verified-label {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	color: var(--dpip-white);
	padding: 7px 11px;
}

.dpip-profile-head__copy h1 {
	font-size: clamp(1.9rem, 4vw, 3.1rem);
	margin: 14px 0 8px;
}

.dpip-profile-head__copy > p {
	align-items: center;
	color: rgba(255, 255, 255, 0.78);
	display: flex;
	gap: 7px;
	margin-bottom: 20px;
}

.dpip-profile-facts {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 650px;
}

.dpip-profile-facts > span {
	color: rgba(255, 255, 255, 0.68);
	display: flex;
	flex-direction: column;
	font-size: .8125rem;
	padding-right: 18px;
}

.dpip-profile-facts > span + span {
	border-left: 1px solid rgba(255, 255, 255, 0.2);
	padding-left: 18px;
}

.dpip-profile-facts strong {
	color: var(--dpip-white);
	font-size: clamp(1rem, 2vw, 1.3rem);
}

.dpip-profile-layout,
.dpip-dashboard-grid {
	align-items: start;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) 340px;
}

.dpip-profile-main,
.dpip-profile-side,
.dpip-dashboard-grid > aside {
	display: grid;
	gap: 22px;
	min-width: 0;
}

.dpip-profile-side,
.dpip-dashboard-grid > aside {
	position: sticky;
	top: 28px;
}

.dpip-panel,
.dpip-side-panel,
.dpip-contact-card,
.dpip-job-card {
	background: var(--dpip-white);
	border: 1px solid var(--dpip-line);
	border-radius: var(--dpip-radius);
	box-shadow: var(--dpip-shadow-sm);
	min-width: 0;
}

.dpip-panel,
.dpip-contact-card,
.dpip-side-panel {
	padding: clamp(20px, 3vw, 30px);
}

.dpip-panel h2,
.dpip-contact-card h2 {
	margin: 6px 0 14px;
}

.dpip-prose {
	color: #34495c;
}

.dpip-prose > :last-child {
	margin-bottom: 0;
}

.dpip-badge-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dpip-badge-card {
	align-items: start;
	background: var(--dpip-yellow-soft);
	border: 1px solid #ffe173;
	border-radius: 12px;
	display: grid;
	gap: 12px;
	grid-template-columns: 38px minmax(0, 1fr);
	padding: 15px;
}

.dpip-badge-card > .dpip-svg {
	background: var(--dpip-yellow);
	border-radius: 10px;
	color: var(--dpip-blue-deep);
	height: 38px;
	padding: 9px;
	width: 38px;
}

.dpip-badge-card > div {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.dpip-badge-card span,
.dpip-badge-card small {
	color: #6b5a25;
	font-size: .8125rem;
}

.dpip-portfolio {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dpip-portfolio a {
	background: var(--dpip-soft);
	border: 1px solid var(--dpip-line);
	border-radius: 10px;
	display: block;
	overflow: hidden;
}

.dpip-portfolio img {
	aspect-ratio: 4 / 3;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

/* Team photographs are separate from project portfolio images. Keep every
 * image visible, including portrait photos, without cropping people's faces. */
.dpip .dpip-team-album__grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
	margin-top: 12px;
}

.dpip .dpip-team-album__grid figure {
	background: var(--dpip-soft);
	border: 1px solid var(--dpip-line);
	border-radius: 10px;
	margin: 0;
	min-width: 0;
	overflow: hidden;
}

.dpip .dpip-team-album__grid figure > a {
	display: block;
	padding: 4px;
}

.dpip .dpip-team-album__grid img {
	aspect-ratio: 4 / 3;
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.dpip .dpip-team-album__grid figcaption {
	color: var(--dpip-blue-deep);
	font-size: .8125rem;
	line-height: 1.5;
	padding: 8px 10px;
}

.dpip .dpip-team-album__grid figure > a:focus-visible {
	outline: 3px solid var(--dpip-blue);
	outline-offset: -3px;
}

.dpip .dpip-team-album-editor .dpip-team-album {
	box-shadow: none;
	margin-top: 12px;
	padding: 12px;
}

.dpip .dpip-team-album-editor .dpip-check {
	align-items: flex-start;
	line-height: 1.5;
	margin-block: 10px 0;
}

.dpip-review-list {
	display: grid;
	gap: 12px;
}

.dpip-review-list article {
	background: var(--dpip-soft);
	border: 1px solid var(--dpip-line);
	border-radius: 12px;
	padding: 16px;
}

.dpip-review-list p {
	margin: 6px 0;
}

.dpip-review-list article > span {
	color: var(--dpip-muted);
	font-size: .8125rem;
}

.dpip-stars {
	color: var(--dpip-yellow-dark);
	font-size: 1rem;
	letter-spacing: 0.1em;
}

.dpip-contact-card {
	border-top: 4px solid var(--dpip-yellow);
}

.dpip-contact-card > p,
.dpip-side-panel > p {
	color: var(--dpip-muted);
}

.dpip-contact-card .dpip-btn + .dpip-btn {
	margin-top: 10px;
}

.dpip-contact-card__safe {
	align-items: start;
	background: var(--dpip-blue-soft);
	border-radius: 10px;
	color: var(--dpip-blue-dark);
	display: grid;
	font-size: .8125rem;
	gap: 8px;
	grid-template-columns: 20px minmax(0, 1fr);
	line-height: 1.5;
	margin-top: 16px;
	padding: 12px;
}

.dpip-status {
	align-items: center;
	background: var(--dpip-soft);
	border: 1px solid var(--dpip-line);
	border-radius: 999px;
	color: var(--dpip-muted);
	display: inline-flex;
	font-size: .8125rem;
	font-weight: 800;
	line-height: 1.3;
	padding: 6px 10px;
	white-space: nowrap;
}

.dpip-status.is-open,
.dpip-status--open,
.dpip-status--completed {
	background: var(--dpip-success-soft);
	border-color: #a8dcbc;
	color: var(--dpip-success);
}

.dpip-status.is-busy,
.dpip-status--cancelled,
.dpip-status--expired {
	background: var(--dpip-danger-soft);
	border-color: #f0bbb6;
	color: var(--dpip-danger);
}

.dpip-status--quoted,
.dpip-status--awarded,
.dpip-status--in_progress,
.dpip-status--waiting_acceptance {
	background: var(--dpip-warning-soft);
	border-color: #edce78;
	color: var(--dpip-warning);
}

.dpip-side-panel h3 {
	margin-bottom: 14px;
}

.dpip-side-panel ul {
	display: grid;
	gap: 9px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dpip-side-panel li {
	align-items: center;
	display: flex;
	font-size: 0.88rem;
	gap: 8px;
}

.dpip-side-panel li .dpip-svg {
	color: var(--dpip-success);
}

.dpip-form {
	background: var(--dpip-white);
	border: 1px solid var(--dpip-line);
	border-radius: var(--dpip-radius-lg);
	box-shadow: var(--dpip-shadow-sm);
	overflow: hidden;
}

.dpip-form__intro {
	background: var(--dpip-blue-soft);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: 20px clamp(18px, 4vw, 38px);
}

.dpip-form__intro > div {
	align-items: center;
	display: flex;
	gap: 9px;
	min-width: 0;
}

.dpip-form__intro > div + div {
	border-left: 1px solid #cadaeb;
	padding-left: 18px;
}

.dpip-form__intro span,
.dpip-section-title > span {
	align-items: center;
	background: var(--dpip-blue);
	border-radius: 50%;
	color: var(--dpip-white);
	display: inline-flex;
	flex: 0 0 auto;
	font-size: .8125rem;
	font-weight: 900;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.dpip-form__intro strong {
	font-size: 0.82rem;
}

.dpip-form-section {
	padding: clamp(22px, 4vw, 38px);
}

.dpip-form-section + .dpip-form-section {
	border-top: 1px solid var(--dpip-line);
}

.dpip-section-title {
	align-items: start;
	display: grid;
	gap: 12px;
	grid-template-columns: 38px minmax(0, 1fr);
	margin-bottom: 22px;
}

.dpip-section-title h2 {
	font-size: clamp(1.18rem, 2vw, 1.48rem);
	margin: 0 0 3px;
}

.dpip-section-title p {
	color: var(--dpip-muted);
	font-size: 0.84rem;
	margin: 0;
}

.dpip-form-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dpip-field--wide {
	grid-column: 1 / -1;
}

.dpip-checkbox-grid {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 8px;
}

.dpip-checkbox-grid label,
.dpip-check {
	align-items: start;
	background: var(--dpip-soft);
	border: 1px solid var(--dpip-line);
	border-radius: 10px;
	cursor: pointer;
	display: flex;
	font-size: 0.84rem;
	gap: 9px;
	padding: 11px 12px;
}

.dpip-checkbox-grid input,
.dpip-check input {
	accent-color: var(--dpip-blue);
	flex: 0 0 auto;
	height: 18px;
	margin: 1px 0 0;
	width: 18px;
}

.dpip-upload {
	position: relative;
}

.dpip-upload input[type="file"] {
	cursor: pointer;
	height: 100%;
	inset: 0;
	opacity: 0;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.dpip-upload > span {
	align-items: center;
	background: var(--dpip-soft);
	border: 2px dashed #99b8d6;
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	justify-content: center;
	min-height: 130px;
	padding: 18px;
	text-align: center;
	transition: background-color 160ms ease, border-color 160ms ease;
}

.dpip-upload:hover > span,
.dpip-upload:focus-within > span {
	background: var(--dpip-blue-soft);
	border-color: var(--dpip-blue);
}

.dpip-upload .dpip-svg {
	color: var(--dpip-blue);
	height: 30px;
	width: 30px;
}

.dpip-upload small {
	color: var(--dpip-muted);
}

.dpip-upload.has-files > span {
	background: var(--dpip-success-soft);
	border-color: var(--dpip-success);
}

.dpip-upload.has-error > span {
	background: var(--dpip-danger-soft);
	border-color: var(--dpip-danger);
}

.dpip-form-submit {
	align-items: center;
	background: var(--dpip-blue-deep);
	display: flex;
	gap: 22px;
	justify-content: space-between;
	padding: 22px clamp(18px, 4vw, 38px);
}

.dpip-form-submit > div {
	align-items: center;
	color: rgba(255, 255, 255, 0.78);
	display: flex;
	font-size: .8125rem;
	gap: 8px;
}

.dpip-honeypot {
	height: 1px !important;
	left: -10000px !important;
	opacity: 0 !important;
	position: absolute !important;
	width: 1px !important;
}

.dpip-form--profile {
	border: 0;
	box-shadow: none;
	overflow: visible;
}

.dpip-form--profile > .dpip-btn {
	margin-top: 22px;
}

/* Structured painter profile manager. */
.dpip-profile-manager .dpip-compact-hero .dpip-shell {
	padding-block: clamp(26px, 4vw, 42px);
}

.dpip-profile-manager .dpip-compact-hero h1 {
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	margin: 10px 0 8px;
}

.dpip-profile-manager .dpip-compact-hero p {
	line-height: 1.55;
	margin: 0;
	max-width: 760px;
}

.dpip-profile-progress {
	align-items: end;
	background: rgba(255, 255, 255, 0.11);
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 15px;
	display: grid;
	flex: 0 0 190px;
	gap: 1px;
	justify-items: end;
	padding: 14px 17px;
}

.dpip-profile-progress span,
.dpip-profile-progress small {
	color: rgba(255, 255, 255, 0.78);
	font-size: .8125rem;
}

.dpip-profile-progress strong {
	color: var(--dpip-yellow);
	font-size: clamp(1.65rem, 3vw, 2.15rem);
	line-height: 1.08;
}

.dpip-profile-manager__layout {
	align-items: start;
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(0, 1fr) 300px;
}

.dpip-profile-manager__layout > .dpip-panel {
	padding: clamp(18px, 2.5vw, 26px);
}

.dpip-profile-manager__aside {
	display: grid;
	gap: 14px;
	min-width: 0;
	position: sticky;
	top: 24px;
}

.dpip-profile-manager__aside .dpip-side-panel {
	padding: 18px;
}

.dpip-profile-manager__aside .dpip-side-panel h3 {
	font-size: 1rem;
	margin: 0 0 7px;
}

.dpip-profile-manager__aside .dpip-side-panel p {
	font-size: 0.82rem;
	line-height: 1.55;
	margin: 0;
}

.dpip-structured-profile {
	background: transparent;
	display: grid;
	gap: 12px;
}

.dpip-profile-section {
	background: var(--dpip-white);
	border: 1px solid var(--dpip-line);
	border-radius: 14px;
	box-shadow: 0 7px 20px rgba(18, 50, 82, 0.05);
	overflow: clip;
}

.dpip-profile-section > summary {
	align-items: center;
	background: linear-gradient(180deg, #fff, #f7faff);
	cursor: pointer;
	display: grid;
	gap: 11px;
	grid-template-columns: 34px minmax(0, 1fr) 20px;
	list-style: none;
	min-height: 62px;
	padding: 11px 15px;
}

.dpip-profile-section > summary::-webkit-details-marker {
	display: none;
}

.dpip-profile-section > summary::after {
	border-bottom: 2px solid var(--dpip-blue);
	border-right: 2px solid var(--dpip-blue);
	content: "";
	height: 8px;
	justify-self: center;
	transform: rotate(45deg) translate(-2px, -2px);
	transition: transform 160ms ease;
	width: 8px;
}

.dpip-profile-section[open] > summary {
	background: var(--dpip-blue-soft);
	border-bottom: 1px solid var(--dpip-line);
}

.dpip-profile-section[open] > summary::after {
	transform: rotate(225deg) translate(-1px, -1px);
}

.dpip-profile-section > summary > span {
	align-items: center;
	background: var(--dpip-blue);
	border-radius: 50%;
	color: var(--dpip-white);
	display: flex;
	font-size: .8125rem;
	font-weight: 900;
	height: 34px;
	justify-content: center;
	width: 44px;
}

.dpip-profile-section > summary > div {
	display: grid;
	gap: 1px;
	min-width: 0;
}

.dpip-profile-section > summary strong {
	color: var(--dpip-blue-deep);
	font-size: 0.94rem;
	line-height: 1.35;
}

.dpip-profile-section > summary small {
	color: var(--dpip-muted);
	font-size: .8125rem;
	line-height: 1.4;
}

.dpip-profile-section > .dpip-form-grid {
	gap: 14px;
	padding: 16px;
}

.dpip-structured-profile .dpip-field > label {
	align-items: end;
	display: flex;
	min-height: 2.4em;
}

.dpip-structured-profile .dpip-field input:not([type="checkbox"]):not([type="radio"]),
.dpip-structured-profile .dpip-field select,
.dpip-structured-profile .dpip-field textarea {
	min-height: 46px;
}

.dpip-structured-profile .dpip-field textarea {
	min-height: 96px;
}

.dpip-structured-profile .dpip-field input[type="file"] {
	padding-block: 7px;
}

.dpip-structured-profile .dpip-field fieldset {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.dpip-structured-profile .dpip-birth-picker {
	display: grid;
	gap: 5px;
}

.dpip-structured-profile .dpip-birth-picker > legend {
	margin: 0 0 1px;
	min-height: 1.4em;
}

.dpip-birth-picker__controls {
	display: grid;
	gap: 7px;
	grid-template-columns: minmax(70px, .78fr) minmax(92px, 1.15fr) minmax(82px, 1fr);
	min-width: 0;
}

.dpip-birth-picker__controls > label {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.dpip-birth-picker__controls > label > span {
	color: var(--dpip-muted);
	font-size: .8125rem;
	font-weight: 700;
	line-height: 1.25;
}

.dpip .dpip-birth-picker__controls select {
	font-variant-numeric: tabular-nums;
	padding-left: 10px;
	text-shadow: none;
}

.dpip-birth-picker__warning,
.dpip-birth-picker__status {
	display: block;
	font-weight: 700;
	line-height: 1.4;
}

.dpip .dpip-birth-picker__warning,
.dpip .dpip-birth-picker__status {
	color: var(--dpip-danger);
}

.dpip-birth-picker__status:empty {
	display: none;
}

.dpip-taxonomy-picker .dpip-checkbox-grid {
	background: #fbfdff;
	border: 1px solid var(--dpip-line);
	border-radius: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 8px;
	max-height: 248px;
	overflow: auto;
	padding: 8px;
	scrollbar-width: thin;
}

.dpip-taxonomy-picker .dpip-checkbox-grid label {
	align-items: center;
	min-height: 42px;
	padding: 9px 10px;
}

.dpip-private-note {
	align-items: center;
	color: var(--dpip-blue);
	display: inline-flex;
	font-size: .8125rem;
	font-weight: 700;
	gap: 6px;
}

.dpip-profile-consent {
	margin-top: 2px;
}

body.dpip-managed-page.dpip-profile-page #primary .dpip.dpip-profile-manager .dpip-profile-consent > span,
body.dpip-managed-page.dpip-post-job-page #primary .dpip.dpip-job-form-page .dpip-job-consent > span {
	color: #b42318;
	font-weight: 800;
}

.dpip-profile-actions {
	align-items: center;
	background: var(--dpip-soft);
	border: 1px solid var(--dpip-line);
	border-radius: 13px;
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	padding: 12px;
}

.dpip-profile-actions .dpip-btn {
	min-height: 46px;
}

.dpip-panel-head__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.dpip-owned-profiles .dpip-panel-head > div {
	max-width: 720px;
}

.dpip-owned-profiles .dpip-panel-head p {
	line-height: 1.55;
	margin: 5px 0 0;
}

.dpip-profile-list {
	display: grid;
	gap: 12px;
}

.dpip-profile-list__item {
	align-items: center;
	background: linear-gradient(135deg, #fff 0%, #f8fbff 100%);
	border: 1px solid #cfdeed;
	border-left: 4px solid var(--dpip-blue);
	border-radius: 14px;
	display: grid;
	gap: 16px;
	grid-template-columns: 80px minmax(0, 1fr) auto;
	min-width: 0;
	padding: 16px;
}

.dpip-profile-avatar {
	align-items: center;
	background: linear-gradient(145deg, var(--dpip-blue), var(--dpip-blue-deep));
	border: 3px solid #e2edf8;
	border-radius: 18px;
	color: var(--dpip-white);
	display: flex;
	font-size: 1.35rem;
	font-weight: 900;
	height: 80px;
	justify-content: center;
	letter-spacing: .04em;
	overflow: hidden;
	width: 80px;
}

.dpip-profile-avatar img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.dpip .dpip-profile-avatar img[hidden] {
	display: none !important;
}

.dpip-profile-avatar--dashboard {
	border-radius: 16px;
	flex: 0 0 72px;
	height: 72px;
	width: 72px;
}

.dpip-profile-avatar--editor {
	border-radius: 18px;
	flex: 0 0 112px;
	height: 112px;
	width: 112px;
}

.dpip-profile-list__body {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.dpip-profile-list__body h3 {
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	line-height: 1.28;
	margin: 0;
	overflow-wrap: anywhere;
}

.dpip-profile-list__facts {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 7px;
}

.dpip-profile-list__facts > span {
	background: var(--dpip-blue-soft);
	border: 1px solid #d3e1ef;
	border-radius: 9px;
	display: grid;
	gap: 2px;
	min-width: 0;
	padding: 8px 10px;
}

.dpip-profile-list__facts small {
	color: var(--dpip-muted);
	font-size: .8125rem;
	line-height: 1.3;
}

.dpip-profile-list__facts strong {
	color: var(--dpip-blue-deep);
	font-size: .86rem;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.dpip-profile-list__actions {
	display: grid;
	gap: 8px;
	justify-items: stretch;
	min-width: 178px;
}

.dpip-profile-list__actions .dpip-btn {
	min-height: 44px;
	white-space: nowrap;
}

.dpip-profile-summary-card__identity {
	align-items: center;
	display: grid;
	gap: 13px;
	grid-template-columns: 72px minmax(0, 1fr);
	margin-bottom: 12px;
}

.dpip-profile-summary-card__identity h2 {
	font-size: clamp(1.28rem, 2vw, 1.75rem);
	margin: 3px 0 0;
	overflow-wrap: anywhere;
}

.dpip-field-label {
	color: var(--dpip-ink);
	display: block;
	font-size: .87rem;
	font-weight: 800;
	line-height: 1.4;
}

.dpip-profile-photo-editor {
	align-items: stretch;
	display: grid;
	gap: 12px;
	grid-template-columns: 112px minmax(0, 1fr);
	min-width: 0;
}

.dpip-upload--compact > span {
	min-height: 112px;
	padding: 12px;
	width: 100%;
}

.dpip-upload--compact strong,
.dpip-upload--compact small {
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.dpip-profile-summary-card {
	border-top: 4px solid var(--dpip-yellow);
}

.dpip-profile-summary-card__facts {
	display: grid;
	gap: 9px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 16px 0;
}

.dpip-profile-summary-card__facts > span {
	background: var(--dpip-blue-soft);
	border: 1px solid #cfdef0;
	border-radius: 10px;
	display: grid;
	gap: 2px;
	padding: 11px;
}

.dpip-profile-summary-card__facts small {
	color: var(--dpip-muted);
	font-size: .8125rem;
}

.dpip-profile-summary-card__facts strong {
	color: var(--dpip-blue-deep);
	font-size: 1rem;
}

.dpip-profile-summary-card > .dpip-btn {
	margin: 0 8px 8px 0;
}

.dpip-form--inline {
	border: 0;
	box-shadow: none;
	overflow: visible;
}

.dpip-form--inline .dpip-form-grid {
	margin-bottom: 16px;
}

.dpip-credit-summary {
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--dpip-radius);
	display: flex;
	flex: 0 0 220px;
	flex-direction: column;
	padding: 16px 20px;
}

.dpip-credit-summary > span,
.dpip-credit-summary > small {
	color: rgba(255, 255, 255, 0.68);
	font-size: .8125rem;
}

.dpip-credit-summary > strong {
	color: var(--dpip-yellow);
	font-size: 2rem;
	line-height: 1.2;
}

.dpip-dashboard-links {
	background: var(--dpip-white);
	border: 1px solid var(--dpip-line);
	border-radius: 12px;
	display: flex;
	gap: 4px;
	margin-bottom: 26px;
	overflow-x: auto;
	padding: 6px;
	scrollbar-width: thin;
}

.dpip-dashboard-links a {
	align-items: center;
	border-radius: 9px;
	color: var(--dpip-muted);
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 0.84rem;
	font-weight: 700;
	gap: 7px;
	min-height: 42px;
	padding: 8px 13px;
}

.dpip-dashboard-links a:hover,
.dpip-dashboard-links a.is-active {
	background: var(--dpip-blue);
	color: var(--dpip-white);
}

.dpip-kpi-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 24px;
}

.dpip-kpi-grid > div {
	background: var(--dpip-white);
	border: 1px solid var(--dpip-line);
	border-radius: 13px;
	display: grid;
	gap: 3px 10px;
	grid-template-columns: 42px minmax(0, 1fr);
	padding: 16px;
}

.dpip-kpi-icon {
	align-items: center;
	background: var(--dpip-blue-soft);
	border-radius: 10px;
	color: var(--dpip-blue);
	display: flex;
	grid-row: 1 / span 2;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.dpip-kpi-grid small {
	color: var(--dpip-muted);
	font-size: .8125rem;
}

.dpip-kpi-grid strong {
	font-size: clamp(1rem, 1.5vw, 1.18rem);
	line-height: 1.3;
}

.dpip-balance {
	color: var(--dpip-blue);
	display: block;
	font-size: 1.85rem;
	margin-bottom: 8px;
}

.dpip-checklist {
	counter-reset: dpip-step;
	display: grid;
	gap: 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dpip-checklist li {
	align-items: center;
	counter-increment: dpip-step;
	display: grid;
	font-size: 0.84rem;
	gap: 10px;
	grid-template-columns: 28px minmax(0, 1fr);
}

.dpip-checklist li::before {
	align-items: center;
	background: var(--dpip-soft);
	border: 1px solid var(--dpip-line);
	border-radius: 50%;
	color: var(--dpip-muted);
	content: counter(dpip-step);
	display: flex;
	font-size: .8125rem;
	font-weight: 800;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.dpip-checklist li.is-done::before {
	background: var(--dpip-success);
	border-color: var(--dpip-success);
	color: var(--dpip-white);
	content: "✓";
}

.dpip-job-list {
	display: grid;
	gap: 20px;
}

.dpip-job-card {
	padding: clamp(18px, 3vw, 28px);
}

.dpip-job-card__head {
	align-items: start;
	display: flex;
	gap: 20px;
	justify-content: space-between;
}

.dpip-job-card__head h3 {
	font-size: clamp(1.15rem, 2vw, 1.48rem);
	margin: 10px 0 6px;
}

.dpip-job-card__facts {
	background: var(--dpip-soft);
	border: 1px solid var(--dpip-line);
	border-radius: 12px;
	display: grid;
	gap: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 20px 0;
}

.dpip-job-card__facts > span {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 14px;
}

.dpip-job-card__facts > span + span {
	border-left: 1px solid var(--dpip-line);
}

.dpip-job-card__facts small {
	color: var(--dpip-muted);
	font-size: .8125rem;
}

.dpip-job-card__facts strong {
	font-size: 0.85rem;
	line-height: 1.35;
}

.dpip-job-card__description {
	display: grid;
	gap: 4px 24px;
	grid-template-columns: 110px minmax(0, 1fr);
}

.dpip-job-card__description h4 {
	font-size: 0.84rem;
	margin-bottom: 12px;
}

.dpip-job-card__description p {
	color: #3f5265;
	font-size: 0.88rem;
	margin-bottom: 12px;
}

.dpip-private-gallery {
	background: #f7faff;
	border: 1px solid var(--dpip-line);
	border-radius: 12px;
	margin-top: 16px;
	padding: 12px;
}

.dpip-private-gallery__label {
	align-items: center;
	color: var(--dpip-blue-dark);
	display: flex;
	font-size: .8125rem;
	font-weight: 800;
	gap: 6px;
	margin-bottom: 10px;
}

.dpip-private-gallery > div {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dpip-private-gallery a {
	background: var(--dpip-white);
	border-radius: 8px;
	overflow: hidden;
}

.dpip-private-gallery img {
	aspect-ratio: 4 / 3;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.dpip-contact-masked,
.dpip-contact-unlocked {
	align-items: center;
	border-radius: 12px;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-top: 16px;
	padding: 14px 16px;
}

.dpip-contact-masked {
	background: var(--dpip-warning-soft);
	border: 1px solid #edcd75;
}

.dpip-contact-unlocked {
	align-items: stretch;
	background: var(--dpip-success-soft);
	border: 1px solid #9ed7b6;
	flex-direction: column;
}

.dpip-contact-masked > div,
.dpip-contact-unlocked > div {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.dpip-contact-masked span,
.dpip-contact-unlocked span {
	color: var(--dpip-muted);
	font-size: .8125rem;
}

.dpip-contact-unlocked > strong {
	align-items: center;
	color: var(--dpip-success);
	display: flex;
	gap: 7px;
}

.dpip-contact-unlocked > div {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 8px;
}

.dpip-contact-unlocked a,
.dpip-contact-unlocked > div > span {
	background: var(--dpip-white);
	border: 1px solid #b9dfc8;
	border-radius: 9px;
	color: #155b39;
	font-size: 0.82rem;
	font-weight: 700;
	padding: 7px 10px;
}

.dpip-job-card__quote {
	border-top: 1px solid var(--dpip-line);
	margin-top: 20px;
	padding-top: 18px;
}

.dpip-job-card__quote summary,
.dpip-table summary,
.dpip-review-form summary {
	color: var(--dpip-blue);
	cursor: pointer;
	font-size: 0.9rem;
	font-weight: 800;
	list-style-position: inside;
	padding: 6px 0;
}

.dpip-job-card__quote details[open] > summary {
	margin-bottom: 14px;
}

.dpip-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.dpip-table {
	border-collapse: separate;
	border-spacing: 0;
	font-size: 0.82rem;
	min-width: 760px;
	width: 100%;
}

.dpip-table th,
.dpip-table td {
	border-bottom: 1px solid var(--dpip-line);
	padding: 13px 12px;
	text-align: left;
	vertical-align: top;
}

.dpip-table th {
	background: var(--dpip-soft);
	color: var(--dpip-blue-dark);
	font-size: .8125rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.dpip-table td > strong,
.dpip-table td > small {
	display: block;
}

.dpip-table td > small {
	color: var(--dpip-muted);
	margin-top: 3px;
}

.dpip-quote-choices {
	display: grid;
	gap: 10px;
	margin-top: 10px;
	min-width: 310px;
}

.dpip-quote-choices > div {
	background: var(--dpip-soft);
	border: 1px solid var(--dpip-line);
	border-radius: 10px;
	padding: 12px;
}

.dpip-quote-choices strong,
.dpip-quote-choices span {
	display: block;
}

.dpip-quote-choices span,
.dpip-quote-choices p {
	color: var(--dpip-muted);
	font-size: .8125rem;
}

.dpip-quote-choices p {
	margin: 5px 0 9px;
}

.dpip-row-actions {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 8px;
}

.dpip-row-actions > form {
	margin: 0;
}

/* The customer's requests keep the dossier route beside the primary action.
 * This table follows its available column instead of the generic 760px floor. */
body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-table--customer-jobs {
	min-width: 0;
}

body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-table--customer-jobs th,
body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-table--customer-jobs td {
	padding-block: 9px;
}

/* Between the existing card layouts, give tablet columns breathing room
 * without a forced wide table or letter-by-letter material headings. */
@media (min-width: 768px) and (max-width: 991px) {
	body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-table--customer-jobs th,
	body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-table--customer-jobs td {
		padding-inline: 6px;
	}

	body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-table--customer-jobs th:nth-child(4),
	body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-table--customer-jobs td[data-label="Vật tư"] {
		min-width: 72px;
	}
}

body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-table--customer-jobs th:nth-child(3) {
	white-space: nowrap;
}

body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-customer-job__quote-count {
	display: inline-block;
	white-space: nowrap;
}

body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-customer-job__title a {
	color: var(--dpip-blue-deep);
	font-weight: 800;
	text-decoration: underline;
	text-decoration-color: #9ab8d7;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-customer-job__title a:hover,
body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-customer-job__title a:focus-visible {
	color: var(--dpip-blue);
	text-decoration-color: currentColor;
}

body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-customer-job__actions,
body.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-customer-job__actions {
	align-items: center;
	flex-wrap: nowrap;
	gap: 4px;
	margin-top: 0;
	/* Expose both buttons' combined width to automatic table-column sizing. */
	width: max-content;
}

body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-customer-job__actions > form,
body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-customer-job__actions > .dpip-btn {
	flex: 0 0 auto;
}

/* Match the primary-content scope of the shared desktop action skin so its
 * roomy padding cannot override these compact table actions. */
body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-customer-job__actions .dpip-btn,
body.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-customer-job__actions .dpip-btn {
	border-radius: 9px;
	font-size: .8125rem;
	min-height: 36px;
	padding: 4px 6px;
	white-space: nowrap;
}

body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-customer-job__dossier {
	box-shadow: 0 6px 14px rgba(23, 79, 152, .2);
}

/* Keep the established desktop label size; compact the hit-area padding,
 * not the lettering. Touch height is restored by the coarse-pointer rule. */
@media (min-width: 992px) {
	body.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-customer-job__actions .dpip-btn {
		font-size: .875rem;
	}
}

.dpip-progress-details {
	min-width: 220px;
}

.dpip-progress-details[open] > summary {
	margin-bottom: 7px;
}

.dpip-progress-form {
	display: grid;
	gap: 8px;
	margin: 0;
}

.dpip-progress-form label {
	color: var(--dpip-ink);
	display: grid;
	font-size: .8125rem;
	font-weight: 700;
	gap: 5px;
}

.dpip-progress-form textarea {
	background: var(--dpip-white);
	border: 1px solid #b9cadb;
	border-radius: 9px;
	color: var(--dpip-ink);
	font: inherit;
	font-size: 0.82rem;
	line-height: 1.45;
	min-height: 82px;
	padding: 8px 10px;
	resize: vertical;
	width: 100%;
}

.dpip-review-form form {
	display: grid;
	gap: 10px;
	margin-top: 8px;
	min-width: 280px;
}

.dpip-review-form label {
	display: grid;
	gap: 5px;
}

.dpip.is-submitting .dpip-form [type="submit"],
.dpip-form.is-submitting [type="submit"] {
	cursor: wait;
	opacity: 0.72;
	pointer-events: none;
}

@media (max-width: 1024px) {
	.dpip-profile-list__item {
		grid-template-columns: 72px minmax(0, 1fr);
	}

	.dpip-profile-avatar--list {
		height: 72px;
		width: 72px;
	}

	.dpip-profile-list__actions {
		display: flex;
		flex-wrap: wrap;
		grid-column: 2;
		min-width: 0;
	}
}

@media (max-width: 1100px) {
	.dpip-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(310px, 0.85fr);
	}

	.dpip-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip-filter > .dpip-btn {
		grid-column: 1 / -1;
	}

	.dpip-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip-directory-nav__item {
		flex-basis: calc(33.333% - 8px);
	}

	.dpip-kpi-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.dpip-hero__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-directory .dpip-hero__grid {
		gap: 22px;
		grid-template-columns: minmax(0, 1fr);
		padding-block: 28px;
	}

	.dpip-directory .dpip-hero h1 {
		white-space: normal;
	}

	.dpip-hero__trust {
		width: 100%;
	}

	.dpip-directory .dpip-hero__trust {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		padding: 0;
	}

	.dpip-directory .dpip-hero__trust > div {
		grid-template-columns: 34px minmax(0, 1fr);
		padding: 13px;
	}

	.dpip-directory .dpip-hero__trust > div + div {
		border-left: 1px solid rgba(255, 255, 255, 0.15);
		border-top: 0;
	}

	.dpip-directory .dpip-hero__trust .dpip-svg {
		height: 34px;
		padding: 7px;
		width: 34px;
	}

	.dpip-profile-layout,
	.dpip-dashboard-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-profile-manager__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-profile-manager__aside {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		position: static;
	}

	.dpip-profile-side,
	.dpip-dashboard-grid > aside {
		position: static;
	}

	.dpip-profile-head {
		grid-template-columns: 150px minmax(0, 1fr);
	}

	.dpip-profile-head__avatar {
		height: 150px;
		width: 150px;
	}

	.dpip-job-card__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip-job-card__facts > span:nth-child(3) {
		border-left: 0;
		border-top: 1px solid var(--dpip-line);
	}

	.dpip-job-card__facts > span:nth-child(4) {
		border-top: 1px solid var(--dpip-line);
	}

	.dpip-form__intro {
		gap: 10px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip-form__intro > div + div {
		border-left: 0;
		padding-left: 0;
	}

	.dpip-form__intro > div:nth-child(even) {
		border-left: 1px solid #cadaeb;
		padding-left: 12px;
	}
}

@media (max-width: 760px) {
	.dpip-structured-profile .dpip-form-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-structured-profile .dpip-field--wide {
		grid-column: auto;
	}

	.dpip-structured-profile .dpip-field > label {
		min-height: 0;
	}

	.dpip-taxonomy-picker .dpip-checkbox-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.dpip {
		font-size: 15px;
	}

	.dpip-shell {
		padding-inline: 14px;
	}

	.dpip-directory .dpip-shell,
	.dpip-managed-page .entry-content > .dpip-directory + .dpip-growth-province-index,
	body.dpip-directory-page .sdd-page-content > .dpip-directory + .dpip-growth-province-index {
		padding-inline: 0;
		width: calc(100% - 20px);
	}

	.dpip-main {
		padding-block: 28px;
	}

	.dpip-hero__grid {
		padding-block: 44px;
	}

	.dpip-directory .dpip-hero__grid {
		gap: 14px;
		padding-block: 22px;
	}

	.dpip-directory .dpip-hero h1 {
		font-size: clamp(1.35rem, 6vw, 1.72rem);
		line-height: 1.2;
		margin: 10px 0 8px;
		white-space: normal;
	}

	.dpip-directory .dpip-hero__grid > div:first-child > p {
		font-size: 0.88rem;
		line-height: 1.5;
		margin-bottom: 12px;
	}

	.dpip-actions,
	.dpip-compact-hero__row,
	.dpip-form-submit,
	.dpip-job-card__head,
	.dpip-contact-masked {
		align-items: stretch;
		flex-direction: column;
	}

	.dpip-actions .dpip-btn,
	.dpip-compact-hero__row > .dpip-btn,
	.dpip-form-submit > .dpip-btn,
	.dpip-contact-masked .dpip-btn {
		width: 100%;
	}

	.dpip-hero__trust {
		border-radius: var(--dpip-radius);
		padding-inline: 16px;
	}

	.dpip-directory .dpip-hero__trust {
		grid-template-columns: minmax(0, 1fr);
		padding-inline: 10px;
	}

	.dpip-directory .dpip-hero__trust > div {
		grid-template-columns: 30px minmax(0, 1fr);
		padding: 7px 0;
	}

	.dpip-directory .dpip-hero__trust > div + div {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.15);
	}

	.dpip-directory .dpip-actions .dpip-btn {
		min-height: 46px;
		padding: 10px 11px;
	}

	.dpip-directory .dpip-actions {
		display: grid;
		gap: 8px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip-directory-nav > .dpip-shell {
		padding-block: 18px;
	}

	.dpip-directory-nav__head {
		margin-bottom: 12px;
	}

	@supports not (display: flex) {
		.dpip-directory-nav__grid {
			display: block;
		}

		.dpip-directory-nav__item + .dpip-directory-nav__item {
			margin-top: 8px;
		}
	}

	.dpip-directory-nav__grid {
		gap: 8px;
	}

	.dpip-directory-nav__item {
		flex-basis: calc(50% - 8px);
		gap: 8px;
		grid-template-columns: 34px minmax(0, 1fr);
		min-height: 68px;
		padding: 9px;
	}

	.dpip-directory-nav__icon {
		border-radius: 10px;
		height: 34px;
		width: 34px;
	}

	.dpip-directory-nav__copy strong {
		font-size: .8125rem;
		line-height: 1.28;
	}

	.dpip-directory-nav__copy small,
	.dpip-directory-nav__arrow {
		display: none;
	}

	.dpip-filter,
	.dpip-filter--compact,
	.dpip-form-grid,
	.dpip-checkbox-grid,
	.dpip-card-grid,
	.dpip-badge-grid,
	.dpip-kpi-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-filter > .dpip-btn,
	.dpip-field--wide {
		grid-column: auto;
	}

	.dpip-results-head,
	.dpip-panel-head {
		align-items: start;
		flex-direction: column;
	}

	.dpip-card__media,
	.dpip-card__media img {
		height: 200px;
		min-height: 200px;
	}

	.dpip-card__body {
		padding: 17px;
	}

	.dpip-card__actions {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-steps {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-steps > div + div {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.15);
	}

	.dpip-steps > li + li {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.15);
	}

	.dpip-steps > div,
	.dpip-steps > li {
		padding: 13px 14px;
	}

	.dpip-profile-head {
		justify-items: center;
		grid-template-columns: minmax(0, 1fr);
		text-align: center;
	}

	.dpip-profile-head__copy > p,
	.dpip-profile-head__copy .dpip-verified-label {
		justify-content: center;
	}

	.dpip-profile-facts {
		width: 100%;
	}

	.dpip-profile-facts > span {
		padding-inline: 7px;
	}

	.dpip-profile-facts > span + span {
		padding-left: 7px;
	}

	.dpip-portfolio {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip-form-section {
		padding: 20px 16px;
	}

	.dpip-form__intro {
		padding: 16px;
	}

	.dpip-profile-manager .dpip-compact-hero .dpip-shell {
		padding-block: 22px;
	}

	.dpip-profile-manager .dpip-compact-hero h1 {
		font-size: 1.65rem;
	}

	.dpip-profile-progress {
		align-items: start;
		justify-items: start;
		width: 100%;
	}

	.dpip-profile-manager__aside {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-profile-manager__layout > .dpip-panel {
		padding: 15px;
	}

	.dpip-profile-list__item {
		gap: 11px;
		grid-template-columns: 60px minmax(0, 1fr);
		padding: 12px;
	}

	.dpip-profile-avatar--list {
		border-radius: 13px;
		font-size: 1rem;
		height: 60px;
		width: 60px;
	}

	.dpip-profile-list__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip-profile-list__facts > span:nth-child(3) {
		grid-column: 1 / -1;
	}

	.dpip-profile-list__actions {
		grid-column: 1 / -1;
	}

	.dpip-profile-list__actions .dpip-btn {
		flex: 1 1 170px;
	}

	.dpip-panel-head__actions {
		justify-content: flex-start;
		width: 100%;
	}

	.dpip-profile-photo-editor {
		grid-template-columns: 92px minmax(0, 1fr);
	}

	.dpip-profile-avatar--editor {
		border-radius: 15px;
		flex-basis: 92px;
		height: 92px;
		width: 92px;
	}

	.dpip-upload--compact > span {
		min-height: 92px;
		padding: 9px;
	}

	.dpip-profile-section > summary {
		grid-template-columns: 32px minmax(0, 1fr) 18px;
		min-height: 58px;
		padding: 9px 11px;
	}

	.dpip-profile-section > .dpip-form-grid {
		gap: 12px;
		padding: 13px;
	}

	.dpip-profile-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip-profile-actions .dpip-btn {
		width: 100%;
	}

	.dpip-form-submit > div {
		justify-content: center;
		text-align: center;
	}

	.dpip-credit-summary {
		flex-basis: auto;
		width: 100%;
	}

	.dpip-job-card__description {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-job-card__description h4 {
		margin: 8px 0 0;
	}

	.dpip-private-gallery > div {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dpip-contact-unlocked > div {
		flex-direction: column;
	}

	.dpip-contact-unlocked a,
	.dpip-contact-unlocked > div > span {
		width: 100%;
	}
}

@media (max-width: 390px) {
	body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header,
	body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-main.dpip-shell,
	body.dpip-directory-page .entry-content > .dpip-directory > .dpip-main.dpip-shell {
		width: calc(100% - 16px);
	}
}

/* --------------------------------------------------------------------------
 * 3.0.4 dashboard clarity and action-consent refinements.
 * Keep profile metadata close to the identity, preserve one-line labels and
 * give the four workload totals a stronger, scannable hierarchy.
 * -------------------------------------------------------------------------- */
body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-status {
	align-items: center;
	grid-template-columns: minmax(0, 1fr) auto;
}

body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-status__identity {
	grid-column: 1;
	grid-row: 1;
}

body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-status > .dpip-btn {
	grid-column: 2;
	grid-row: 1;
}

body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-status dl {
	grid-column: 1 / -1;
	grid-row: 2;
	justify-self: stretch;
	width: 100%;
}

body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-status dt {
	font-size: .875rem;
	line-height: 1.25;
	text-align: left;
	white-space: nowrap;
}

body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-status dd {
	font-size: .96rem;
	line-height: 1.35;
	text-align: left;
}

body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-kpi-grid--links > a {
	background: linear-gradient(145deg, #fff 0%, #f6faff 100%);
	border: 2px solid #b7cee7;
	box-shadow: 0 8px 20px rgba(13, 79, 152, .09);
	gap: 4px 12px;
	grid-template-columns: 48px minmax(0, 1fr);
	min-height: 96px;
	padding: 16px;
}

body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-kpi-grid--links > a:hover,
body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-kpi-grid--links > a:focus-visible {
	border-color: #0d4f98;
	box-shadow: 0 10px 24px rgba(13, 79, 152, .18);
}

body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-kpi-grid--links .dpip-kpi-icon {
	border: 1px solid #c4d9ee;
	height: 48px;
	width: 48px;
}

body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-kpi-grid--links > a small {
	color: #405a73;
	font-size: .96rem;
	font-weight: 700;
	line-height: 1.3;
}

body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-kpi-grid--links > a strong {
	color: #0b478b;
	font-size: 1.6rem;
	font-weight: 900 !important;
	line-height: 1.05;
}

@media (max-width: 767px) {
	body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-status {
		grid-template-columns: minmax(0, 1fr);
	}

	body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-status__identity,
	body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-status > .dpip-btn,
	body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-status dl {
		grid-column: 1;
		grid-row: auto;
	}

	body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-kpi-grid--links > a {
		grid-template-columns: 44px minmax(0, 1fr);
		min-height: 86px;
		padding: 12px;
	}

	body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-kpi-grid--links .dpip-kpi-icon {
		height: 44px;
		width: 44px;
	}

	body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-kpi-grid--links > a small {
		font-size: .9rem;
	}

	body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-kpi-grid--links > a strong {
		font-size: 1.45rem;
	}
}

@media (max-width: 560px) {
	body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-status dl {
		grid-template-columns: minmax(0, 1fr);
	}

	body.dpip-managed-page.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-status dl > div {
		border-left: 0;
		border-top: 1px solid var(--dpip-line);
		padding-top: 7px;
		padding-left: 0;
	}
}

/* --------------------------------------------------------------------------
 * Activation and trust transparency.
 * Short-lived guest drafts, public-safe profile signals and registration
 * intent stay scoped to DPIP surfaces or the WooCommerce registration form.
 * -------------------------------------------------------------------------- */
body.dpip-post-job-page .dpip.dpip-guest-draft-page .dpip-main {
	max-width: 980px;
	padding-block: clamp(18px, 3vw, 34px);
}

.dpip .dpip-guest-draft > .dpip-section-title {
	margin: 0;
	padding: clamp(18px, 3vw, 28px) clamp(16px, 3vw, 30px) 12px;
}

.dpip .dpip-guest-draft > .dpip-form-grid {
	padding: 8px clamp(16px, 3vw, 30px) clamp(18px, 3vw, 28px);
}

.dpip .dpip-guest-draft__privacy {
	align-items: flex-start;
	background: var(--dpip-blue-soft);
	border-block: 1px solid #cddff2;
	color: var(--dpip-blue-deep);
	display: flex;
	font-size: .875rem;
	gap: 10px;
	line-height: 1.5;
	padding: 14px clamp(16px, 3vw, 30px);
}

.dpip .dpip-guest-draft__privacy .dpip-svg {
	color: var(--dpip-blue);
	margin-top: 2px;
}

.dpip .dpip-guest-draft__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
	padding: 16px clamp(16px, 3vw, 30px) clamp(18px, 3vw, 26px);
}

.dpip .dpip-draft-resumed {
	align-items: center;
	background: var(--dpip-success-soft);
	border: 1px solid #9ad3b2;
	border-left: 4px solid var(--dpip-success);
	border-radius: 12px;
	color: #0c5837;
	display: flex;
	font-size: .875rem;
	gap: 14px;
	justify-content: space-between;
	line-height: 1.45;
	margin-bottom: 14px;
	padding: 11px 14px;
}

.dpip .dpip-draft-resumed[hidden] {
	display: none;
}

.dpip .dpip-draft-resumed > div {
	align-items: flex-start;
	display: flex;
	gap: 9px;
}

.dpip .dpip-draft-resumed .dpip-svg {
	flex: 0 0 auto;
	margin-top: 2px;
}

.dpip .dpip-draft-resumed > button {
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	min-height: 36px;
	padding: 5px 7px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.dpip .dpip-card__readiness {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 8px;
}

.dpip .dpip-profile-quality {
	background: #f1f5f9;
	border: 1px solid #ccd9e6;
	border-radius: 999px;
	color: #42566b;
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
	padding: 4px 8px;
}

.dpip .dpip-profile-quality--strong {
	background: var(--dpip-success-soft);
	border-color: #9ad3b2;
	color: #0c5837;
}

.dpip .dpip-profile-quality--medium {
	background: var(--dpip-yellow-soft);
	border-color: #f2d565;
	color: #765700;
}

.dpip .dpip-card__facts > .is-new {
	flex-wrap: wrap;
}

.dpip .dpip-card__facts > .is-new small {
	color: var(--dpip-muted);
	flex-basis: 100%;
	font-size: 13px;
	padding-left: 23px;
}

.dpip .dpip-card__activity {
	align-items: flex-start;
	color: var(--dpip-muted);
	display: flex;
	font-size: 13px;
	gap: 6px;
	line-height: 1.4;
	margin: -4px 0 8px;
}

.dpip .dpip-card__activity .dpip-svg {
	color: var(--dpip-blue);
	margin-top: 1px;
}

.dpip .dpip-card__trust-layers {
	background: #f6f9fd;
	border: 1px solid #d5e2ef;
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 8px;
	padding: 8px;
}

.dpip .dpip-card__trust-layers strong {
	color: var(--dpip-blue-deep);
	flex-basis: 100%;
	font-size: 13px;
}

.dpip .dpip-card__trust-layers span {
	background: #fff;
	border: 1px solid #b9cde1;
	border-radius: 999px;
	color: #35516d;
	font-size: 13px;
	font-weight: 700;
	padding: 2px 7px;
}

.dpip .dpip-verification-layers__grid {
	display: grid;
	gap: 9px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dpip .dpip-verification-layers__grid > article {
	align-items: flex-start;
	background: #f6f9fd;
	border: 1px solid #d5e2ef;
	border-left: 4px solid #8da3b8;
	border-radius: 10px;
	display: flex;
	gap: 9px;
	min-width: 0;
	padding: 11px 12px;
}

.dpip .dpip-verification-layers__grid > .is-verified {
	background: var(--dpip-success-soft);
	border-color: #9ad3b2;
	border-left-color: var(--dpip-success);
}

.dpip .dpip-verification-layers__grid > :is(.is-rejected, .is-expired) {
	background: var(--dpip-danger-soft);
	border-color: #eeb7b2;
	border-left-color: var(--dpip-danger);
}

.dpip .dpip-verification-layers__grid .dpip-svg {
	color: var(--dpip-blue);
	margin-top: 2px;
}

.dpip .dpip-verification-layers__grid > article > div {
	display: grid;
	gap: 2px;
}

.dpip .dpip-verification-layers__grid strong,
.dpip .dpip-verification-layers__grid span,
.dpip .dpip-verification-layers__grid small {
	font-size: .875rem;
	line-height: 1.4;
}

.dpip .dpip-verification-layers__grid span,
.dpip .dpip-verification-layers__grid small {
	color: var(--dpip-muted);
}

.dpip .dpip-profile-readiness {
	border-block: 1px solid var(--dpip-line);
	display: grid;
	gap: 8px;
	margin: 12px 0;
	padding-block: 11px;
}

.dpip .dpip-profile-readiness > div {
	display: grid;
	gap: 1px;
}

.dpip .dpip-profile-readiness dt,
.dpip .dpip-profile-readiness dd {
	font-size: .875rem;
	line-height: 1.4;
	margin: 0;
}

.dpip .dpip-profile-readiness dt {
	color: var(--dpip-muted);
}

.dpip .dpip-profile-readiness dd {
	color: var(--dpip-blue-deep);
	font-weight: 800;
}

.woocommerce-account .dpip-registration-intent {
	border: 1px solid #cbd9e7;
	border-radius: 12px;
	display: grid;
	gap: 9px;
	margin: 16px 0;
	padding: 14px;
}

.woocommerce-account .dpip-registration-intent__options {
	display: grid;
	gap: 8px;
}

.woocommerce-account .dpip-registration-intent__option {
	align-items: flex-start;
	background: #f5f9fe;
	border: 1px solid #d4e1ee;
	border-radius: 10px;
	cursor: pointer;
	display: flex;
	font-size: .875rem;
	gap: 9px;
	line-height: 1.4;
	padding: 10px 11px;
}

.woocommerce-account .dpip-registration-intent__option:has(input:checked) {
	background: #fff8d6;
	border-color: #e2ad00;
}

.woocommerce-account .dpip-registration-intent__option input {
	accent-color: #174f98;
	flex: 0 0 auto;
	height: 18px;
	margin: 2px 0 0;
	width: 18px;
}

.woocommerce-account .dpip-registration-intent__option span {
	display: grid;
	gap: 2px;
}

.woocommerce-account .dpip-registration-intent__option strong {
	color: #082f60;
}

.woocommerce-account .dpip-registration-intent__option small {
	color: #5c6d7f;
	font-size: 13px;
}

@media (max-width: 767px) {
	.dpip .dpip-guest-draft > .dpip-form-grid,
	.dpip .dpip-verification-layers__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip .dpip-guest-draft__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip .dpip-guest-draft__actions .dpip-btn {
		width: 100%;
	}

	.dpip .dpip-draft-resumed {
		align-items: flex-start;
	}
}

@media (hover: none) and (pointer: coarse) {
	body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-customer-job__actions .dpip-btn,
	body.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-customer-job__actions .dpip-btn {
		min-height: 44px;
	}
}

@media (max-width: 767px) {
	body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-table--customer-jobs td[data-label="Thao tác"] {
		padding-left: 0;
	}

	body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-table--customer-jobs td[data-label="Thao tác"]::before {
		display: block;
		margin-bottom: 7px;
		position: static;
		width: auto;
	}
}

@media (max-width: 380px) {
	body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-customer-job__actions,
	body.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-customer-job__actions {
		gap: 3px;
	}

	body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-customer-job__actions .dpip-btn,
	body.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-customer-job__actions .dpip-btn {
		font-size: 13px;
		padding-inline: 4px;
	}
}

/* --------------------------------------------------------------------------
 * Administrator-only connection audit on the public directory route. Active
 * rows lead to implemented routes; roadmap rows remain non-interactive.
 * -------------------------------------------------------------------------- */
.dpip-directory .dpip-connection-hub {
	border: 1px solid #cadbec;
	border-radius: 16px;
	background: linear-gradient(135deg, #f5f9ff 0%, #fffdf2 100%);
	box-shadow: 0 12px 30px rgba(13, 61, 113, .08);
	margin-block: 16px;
	padding: clamp(14px, 2vw, 22px);
}

.dpip-directory .dpip-connection-hub__head {
	align-items: end;
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 430px);
	margin-bottom: 13px;
}

.dpip-directory .dpip-connection-hub__head h2 {
	color: var(--dpip-ink);
	font-size: clamp(1.35rem, 2.35vw, 1.85rem);
	letter-spacing: -.018em;
	line-height: 1.2;
	margin: 4px 0 0;
}

.dpip-directory .dpip-connection-hub__head > p {
	color: var(--dpip-muted);
	font-size: .84rem;
	line-height: 1.48;
	margin: 0;
}

.dpip-directory .dpip-connection-hub__tables {
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr);
	min-width: 0;
}

.dpip-directory .dpip-connection-table-panel {
	background: #fff;
	border: 1px solid #d5e2ef;
	border-radius: 12px;
	min-width: 0;
	overflow: hidden;
}

.dpip-directory .dpip-connection-table-panel--connect { border-top: 4px solid #174f98; }
.dpip-directory .dpip-connection-table-panel--trust { border-top: 4px solid #168451; }
.dpip-directory .dpip-connection-table-panel--b2b { border-top: 4px solid #ffc501; }

.dpip-directory .dpip-connection-table {
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 13px;
	line-height: 1.32;
	margin: 0;
	max-width: 100%;
	table-layout: fixed;
	width: 100%;
}

.dpip-directory .dpip-connection-table caption {
	background: #fff;
	border-bottom: 1px solid #d5e2ef;
	caption-side: top;
	color: var(--dpip-ink);
	padding: 0;
	text-align: left;
}

.dpip-directory .dpip-connection-table__caption-inner {
	display: grid;
	gap: 7px;
	grid-template-columns: 32px minmax(0, 1fr);
	padding: 8px;
}

.dpip-directory .dpip-connection-table__number {
	align-items: center;
	background: var(--dpip-blue);
	border-radius: 9px;
	color: #fff;
	display: inline-flex;
	font-size: 13px;
	font-weight: 900;
	height: 32px;
	justify-content: center;
	letter-spacing: .05em;
	width: 32px;
}

.dpip-directory .dpip-connection-table__caption-copy {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.dpip-directory .dpip-connection-table__caption-copy strong {
	color: var(--dpip-blue-dark);
	font-size: .9rem;
	line-height: 1.24;
	overflow-wrap: anywhere;
}

.dpip-directory .dpip-connection-table__caption-copy small {
	color: var(--dpip-muted);
	font-size: 13px;
	line-height: 1.32;
	overflow-wrap: anywhere;
}

.dpip-directory .dpip-connection-table__status-column {
	width: 144px;
}

.dpip-directory .dpip-connection-table :is(th, td) {
	border: 0;
	border-top: 1px solid #e0e9f2;
	min-width: 0;
	vertical-align: middle;
}

.dpip-directory .dpip-connection-table thead th {
	background: #edf5ff;
	border-top: 0;
	color: var(--dpip-blue-dark);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .015em;
	padding: 5px 7px;
	text-align: left;
}

.dpip-directory .dpip-connection-table thead th:last-child {
	text-align: left;
}

.dpip-directory .dpip-connection-table tbody th {
	background: #f9fbfe;
	font-weight: 400;
	padding: 0;
	text-align: left;
}

.dpip-directory .dpip-connection-table tbody td {
	background: #fff;
	padding: 5px;
	text-align: left;
}

.dpip-directory .dpip-connection-table__action {
	align-items: start;
	color: var(--dpip-ink);
	display: grid;
	gap: 6px;
	grid-template-columns: 24px minmax(0, 1fr);
	min-width: 0;
	padding: 6px;
	text-decoration: none;
	width: 100%;
}

.dpip-directory a.dpip-connection-table__action {
	transition: background-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

.dpip-directory a.dpip-connection-table__action:hover,
.dpip-directory a.dpip-connection-table__action:focus-visible {
	background: #eef6ff;
	box-shadow: inset 3px 0 0 var(--dpip-blue);
	color: var(--dpip-blue-dark);
	outline: 3px solid var(--dpip-blue-dark);
	outline-offset: -3px;
}

.dpip-directory .dpip-connection-table__mark {
	align-items: center;
	background: #e6f7ee;
	border-radius: 50%;
	color: #117447;
	display: inline-flex;
	height: 24px;
	justify-content: center;
	width: 24px;
}

.dpip-directory .is-roadmap .dpip-connection-table__mark {
	background: #fff1bb;
	color: #765700;
}

.dpip-directory .dpip-connection-table__mark .dpip-svg {
	height: 14px;
	width: 14px;
}

.dpip-directory .dpip-connection-table__copy {
	display: grid;
	gap: 1px;
	min-width: 0;
}

.dpip-directory .dpip-connection-table__copy strong {
	font-size: 13px;
	line-height: 1.28;
	overflow-wrap: anywhere;
}

.dpip-directory .dpip-connection-table__copy small {
	color: var(--dpip-muted);
	font-size: 13px;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.dpip-directory .dpip-connection-table__status {
	background: #e7f7ef;
	border-radius: 999px;
	color: #11643c;
	display: inline-block;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.18;
	max-width: 100%;
	padding: 4px 6px;
	text-align: center;
	overflow-wrap: normal;
	white-space: nowrap;
	word-break: normal;
}

.dpip-directory .dpip-connection-table .is-roadmap :is(th, td) {
	background: #fffaf0;
}

.dpip-directory .dpip-connection-table .is-roadmap .dpip-connection-table__status {
	background: #fff0b5;
	color: #6b5000;
}

/* Keep the managed Trust page title and content close to its quick navigation. */
body.dpip-trust-page #primary.sdd-standard-page {
	padding-block: 12px 34px;
}

body.dpip-trust-page #primary.sdd-standard-page > .sdd-narrow-shell > .sdd-page-article > .sdd-page-header h1 {
	font-size: clamp(1.65rem, 3vw, 2.15rem);
	letter-spacing: -.018em;
	line-height: 1.2;
	margin: 0 0 10px;
}

body.dpip-trust-page .entry-content > .dpip-tw {
	margin: 10px auto;
	max-width: var(--sdd-shell, 1200px);
	width: min(calc(100% - 30px), var(--sdd-shell, 1200px));
}

@media (max-width: 820px) {
	.dpip-directory .dpip-connection-hub__head {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-directory .dpip-connection-hub__head {
		gap: 6px;
	}
}

@media (max-width: 767px) {
	.dpip-directory .dpip-connection-hub {
		margin-block: 10px;
		padding: 10px;
		width: calc(100% - 20px);
	}

	.dpip-directory .dpip-connection-hub__head {
		margin-bottom: 9px;
	}

	.dpip-directory .dpip-connection-hub__head h2 {
		font-size: 1.24rem;
	}

	.dpip-directory .dpip-connection-hub__head > p {
		font-size: 13px;
	}

	.dpip-directory .dpip-connection-hub__tables {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-directory .dpip-connection-table__caption-inner {
		padding: 7px;
	}

	.dpip-directory .dpip-connection-table__caption-copy strong {
		font-size: .88rem;
	}

	.dpip-directory .dpip-connection-table__status-column {
		width: 144px;
	}

	.dpip-directory .dpip-connection-table__action {
		padding: 6px;
	}

	body.dpip-trust-page #primary.sdd-standard-page {
		padding-block: 8px 24px;
	}

	body.dpip-trust-page #primary.sdd-standard-page > .sdd-narrow-shell > .sdd-page-article > .sdd-page-header h1 {
		font-size: clamp(1.45rem, 7vw, 1.75rem);
		margin-bottom: 7px;
	}

	body.dpip-trust-page .entry-content > .dpip-tw {
		margin-block: 7px;
		width: calc(100% - 20px);
	}
}

@media (max-width: 390px) {
	.dpip-directory .dpip-connection-hub,
	body.dpip-trust-page .entry-content > .dpip-tw {
		width: calc(100% - 16px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dpip-directory a.dpip-connection-table__action {
		transition: none;
	}
}

@media (max-width: 380px) {
	.dpip-shell {
		padding-inline: 10px;
	}

	.dpip-directory .dpip-shell,
	.dpip-managed-page .entry-content > .dpip-directory + .dpip-growth-province-index,
	body.dpip-directory-page .sdd-page-content > .dpip-directory + .dpip-growth-province-index {
		padding-inline: 0;
		width: calc(100% - 16px);
	}

	.dpip-directory-nav__item {
		gap: 7px;
		grid-template-columns: 32px minmax(0, 1fr);
		padding: 8px;
	}

	.dpip-directory-nav__icon {
		height: 32px;
		width: 32px;
	}

	.dpip-profile-actions {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-profile-summary-card__facts,
	.dpip-taxonomy-picker .dpip-checkbox-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-profile-list__item {
		gap: 9px;
		grid-template-columns: 52px minmax(0, 1fr);
		padding: 10px;
	}

	.dpip-profile-avatar--list {
		height: 52px;
		width: 52px;
	}

	.dpip-profile-list__facts {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-profile-list__facts > span:nth-child(3) {
		grid-column: auto;
	}

	.dpip-panel-head__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-panel-head__actions .dpip-btn {
		width: 100%;
	}

	.dpip-profile-photo-editor {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-profile-avatar--editor {
		flex-basis: 88px;
		height: 88px;
		width: 88px;
	}

	.dpip-upload--compact > span {
		min-height: 84px;
	}

	.dpip-btn {
		padding-inline: 12px;
	}

	.dpip-filter,
	.dpip-panel,
	.dpip-contact-card,
	.dpip-side-panel,
	.dpip-job-card {
		border-radius: 12px;
	}

	.dpip-card__facts {
		gap: 8px;
	}

	.dpip-profile-facts {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-profile-facts > span,
	.dpip-profile-facts > span + span {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.18);
		padding: 7px 0;
	}

	.dpip-profile-facts > span:first-child {
		border-top: 0;
	}

	.dpip-portfolio,
	.dpip-private-gallery > div {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip-form__intro strong {
		font-size: .8125rem;
	}

	.dpip-form__intro span {
		height: 29px;
		width: 29px;
	}

	.dpip-job-card__facts {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-job-card__facts > span + span,
	.dpip-job-card__facts > span:nth-child(3) {
		border-left: 0;
		border-top: 1px solid var(--dpip-line);
	}
}

/* Compact entry rhythm for the managed profile page and its login prompt. */
body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty {
	align-items: flex-start;
	display: grid;
	gap: 8px;
	padding: 18px;
}

body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty h2 {
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	line-height: 1.25;
	margin: 0;
}

body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty p {
	line-height: 1.45;
	margin: 0;
	max-width: 58ch;
}

body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty .dpip-btn {
	min-height: 40px;
	padding-inline: 14px;
}

body.dpip-profile-page .dpip.dpip-profile-manager .dpip-workspace-header {
	gap: 8px;
	padding-block: 14px;
}

body.dpip-profile-page .dpip.dpip-profile-manager .dpip-workspace-header h1 {
	line-height: 1.2;
	margin-block: 0 3px;
}

body.dpip-profile-page .dpip.dpip-profile-manager .dpip-workspace-header p {
	line-height: 1.45;
	margin: 0;
}

@media (max-width: 767px) {
	body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty {
		gap: 9px;
		padding: 14px;
	}

	body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty .dpip-btn {
		justify-content: center;
		min-height: 44px;
		width: 100%;
	}

	body.dpip-profile-page .dpip.dpip-profile-manager .dpip-workspace-header {
		padding-block: 10px;
	}
}

/* --------------------------------------------------------------------------
 * Managed layout refinement: keep each blue header on the same content line
 * as the panels below it, reduce decorative height and improve profile
 * contrast. These rules are intentionally limited to DPIP application views.
 * -------------------------------------------------------------------------- */
body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header {
	border-radius: 16px;
	margin-inline: auto;
	overflow: hidden;
	padding-block: 14px;
	width: min(calc(100% - 30px), var(--sdd-shell, 1200px));
}

body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header > .dpip-shell {
	max-width: none;
	padding-inline: clamp(18px, 2.25vw, 28px);
	width: 100%;
}

body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header h1 {
	font-size: clamp(1.55rem, 2.4vw, 2.05rem);
	line-height: 1.16;
	margin-block: 2px 4px;
}

body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header p {
	color: rgba(255, 255, 255, .94);
	font-size: .88rem;
	line-height: 1.42;
}

body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header__meta,
body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header .dpip-persona-badge {
	min-height: 50px;
	min-width: 112px;
	padding: 6px 10px;
}

/* Public painter profile: remove unused blue height and never place dark text
 * on the brand-blue background. */
body.dpip-managed-page .dpip.dpip-profile .dpip-main {
	padding-block: 16px 30px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-breadcrumb {
	margin-bottom: 12px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head {
	gap: clamp(18px, 2.5vw, 28px);
	grid-template-columns: 136px minmax(0, 1fr);
	margin-bottom: 16px;
	padding: clamp(18px, 2.5vw, 26px);
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__avatar {
	border-width: 3px;
	border-radius: 18px;
	height: 136px;
	width: 136px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy h1 {
	color: #fff;
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	line-height: 1.15;
	margin: 8px 0 4px;
	text-shadow: 0 1px 2px rgba(0, 27, 64, .24);
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-role {
	color: #fff;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy > p {
	color: rgba(255, 255, 255, .92);
	margin-bottom: 12px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy .dpip-verified-label {
	background: rgba(255, 255, 255, .16);
	border: 1px solid rgba(255, 255, 255, .28);
	color: #fff;
	padding: 5px 9px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	max-width: none;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts > span {
	color: #fff;
	line-height: 1.4;
	padding-right: 10px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts > span + span {
	padding-left: 10px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts strong {
	color: #fff;
	font-size: 1rem;
	line-height: 1.3;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-layout {
	gap: 16px;
	grid-template-columns: minmax(0, 1fr) 300px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-main,
body.dpip-managed-page .dpip.dpip-profile .dpip-profile-side {
	gap: 14px;
}

body.dpip-managed-page .dpip.dpip-profile :is(.dpip-panel, .dpip-contact-card, .dpip-side-panel) {
	padding: 18px;
}

body.dpip-managed-page .dpip.dpip-profile :is(.dpip-panel, .dpip-contact-card) h2 {
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	margin-block: 4px 10px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-professional-facts {
	margin-bottom: 0;
}

/* Directory cards retain all information but use less decorative space. */
body.dpip-directory-page .dpip-directory .dpip-card-grid {
	gap: 16px;
}

body.dpip-directory-page .dpip-directory .dpip-card__media {
	min-height: 154px;
	padding: 12px;
}

body.dpip-directory-page .dpip-directory .dpip-card__media img {
	height: 154px;
}

body.dpip-directory-page .dpip-directory .dpip-card__body {
	padding: 16px;
}

body.dpip-directory-page .dpip-directory .dpip-card h3 {
	margin-block: 7px 4px;
}

body.dpip-directory-page .dpip-directory .dpip-card__meta {
	margin-bottom: 10px;
}

body.dpip-directory-page .dpip-directory .dpip-card__facts {
	margin-block: 12px;
	padding-block: 9px;
}

body.dpip-directory-page .dpip-directory .dpip-card__actions {
	padding-top: 12px;
}

body.dpip-directory-page .dpip-directory .dpip-card__actions .dpip-btn {
	min-height: 42px;
	padding-block: 8px;
}

@media (max-width: 900px) {
	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 10px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts > span:nth-child(4) {
		border-left: 0;
		padding-left: 0;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header {
		border-radius: 14px;
		padding-block: 10px;
		width: calc(100% - 20px);
	}

	body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header > .dpip-shell {
		padding-inline: 12px;
	}

	body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header h1 {
		font-size: clamp(1.3rem, 5.7vw, 1.55rem);
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-main {
		padding-block: 12px 22px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head {
		gap: 12px;
		grid-template-columns: 96px minmax(0, 1fr);
		justify-items: stretch;
		padding: 14px;
		text-align: left;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__avatar {
		border-radius: 15px;
		height: 96px;
		width: 96px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy .dpip-verified-label,
	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy > p {
		justify-content: flex-start;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy h1 {
		font-size: 1.45rem;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts {
		grid-column: 1 / -1;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 8px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts > span,
	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts > span + span {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, .2);
		padding: 7px 8px 0 0;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts > span:nth-child(-n + 2) {
		border-top: 0;
	}

	body.dpip-managed-page .dpip.dpip-profile :is(.dpip-panel, .dpip-contact-card, .dpip-side-panel) {
		padding: 14px;
	}

	body.dpip-directory-page .dpip-directory .dpip-card__media,
	body.dpip-directory-page .dpip-directory .dpip-card__media img {
		height: 132px;
		min-height: 132px;
	}

	body.dpip-directory-page .dpip-directory .dpip-card__actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 390px) {
	body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header {
		width: calc(100% - 16px);
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head {
		grid-template-columns: 76px minmax(0, 1fr);
		padding: 12px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__avatar {
		height: 76px;
		width: 76px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy h1 {
		font-size: 1.25rem;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy > p {
		font-size: .82rem;
		margin-bottom: 7px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts {
		font-size: .8125rem;
	}

	body.dpip-directory-page .dpip-directory .dpip-card__actions {
		grid-template-columns: minmax(0, 1fr);
	}
}

.dpip .dpip-table-link {
	display: block;
	width: fit-content;
	margin-top: 6px;
	color: var(--dpip-blue);
	font-size: 0.82rem;
	font-weight: 800;
	line-height: 1.35;
	text-decoration: none;
}

.dpip .dpip-table-link:hover,
.dpip .dpip-table-link:focus-visible {
	color: var(--dpip-blue-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.dpip .dpip-match-suggestions {
	min-width: 210px;
	margin-top: 9px;
	padding: 8px;
	border: 1px solid var(--dpip-line);
	border-radius: 10px;
	background: #f8fbff;
}

.dpip .dpip-match-suggestions > summary {
	cursor: pointer;
	color: var(--dpip-blue-dark);
	font-size: 0.82rem;
	font-weight: 900;
}

.dpip .dpip-match-suggestions article {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2px 8px;
	padding: 9px 0;
	border-bottom: 1px dashed var(--dpip-line);
}

.dpip .dpip-match-suggestions article > span,
.dpip .dpip-match-suggestions article > small,
.dpip .dpip-match-suggestions article > a {
	grid-column: 1 / -1;
}

.dpip .dpip-match-suggestions article > span {
	color: var(--dpip-muted);
	font-size: .8125rem;
	font-weight: 800;
	text-transform: uppercase;
}

.dpip .dpip-match-suggestions article > strong,
.dpip .dpip-match-suggestions article > b {
	font-size: 0.82rem;
}

.dpip .dpip-match-suggestions article > b {
	color: var(--dpip-blue);
}

.dpip .dpip-match-suggestions article > small,
.dpip .dpip-match-suggestions > p {
	color: var(--dpip-muted);
	font-size: .8125rem;
	line-height: 1.45;
}

.dpip .dpip-match-suggestions article > a {
	color: var(--dpip-blue);
	font-size: .8125rem;
	font-weight: 800;
}

.dpip .dpip-match-suggestions > p {
	margin: 8px 0 0;
}

.dpip .dpip-integrated-workspace {
	margin: 24px 0;
	padding: clamp(16px, 2.4vw, 28px);
	border: 1px solid var(--dpip-line);
	border-top: 4px solid var(--dpip-yellow);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 16px 36px rgba(13, 52, 92, 0.09);
	scroll-margin-top: 24px;
}

.dpip .dpip-integrated-workspace > .dpip-panel-head {
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--dpip-line);
}

.dpip .dpip-integrated-workspace > .dpip-panel-head h3 {
	margin: 4px 0 0;
	color: var(--dpip-ink);
	font-size: clamp(1.08rem, 2vw, 1.4rem);
	line-height: 1.25;
}

.dpip .dpip-integrated-workspace > .dpip-panel-head > a {
	flex: 0 0 auto;
	color: var(--dpip-blue);
	font-weight: 800;
	text-decoration: none;
}

.dpip .dpip-integrated-workspace > .dpip-panel-head > a:hover,
.dpip .dpip-integrated-workspace > .dpip-panel-head > a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 620px) {
	.dpip .dpip-integrated-workspace {
		margin-inline: -2px;
		padding: 14px;
		border-radius: 14px;
	}

	.dpip .dpip-integrated-workspace > .dpip-panel-head {
		align-items: flex-start;
		gap: 10px;
	}
}

/*
 * Compact data-entry density for the two long application screens.
 * The doubled root class on the job page deliberately outranks the later
 * project-dossier refinement without leaking into another DPIP form.
 */
body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-compact-hero .dpip-shell {
	padding-block: clamp(18px, 2.4vw, 28px);
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-compact-hero h1 {
	font-size: clamp(1.7rem, 3vw, 2.3rem);
	line-height: 1.18;
	margin: 7px 0 4px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-compact-hero p {
	font-size: clamp(0.88rem, 1vw, 0.96rem);
	line-height: 1.45;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-main {
	padding-block: clamp(14px, 2.2vw, 26px);
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form__intro {
	padding: 10px clamp(13px, 1.8vw, 20px);
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form__intro > div {
	gap: 7px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form__intro > div + div {
	padding-left: 11px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form__intro span,
body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-section-title > span {
	height: 28px;
	width: 28px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form-section {
	padding: clamp(14px, 1.8vw, 20px);
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-section-title {
	gap: 8px;
	grid-template-columns: 31px minmax(0, 1fr);
	margin-bottom: 10px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-section-title h2 {
	font-size: clamp(1.02rem, 1.45vw, 1.22rem);
	line-height: 1.28;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-section-title p {
	font-size: .8125rem;
	line-height: 1.42;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form-grid {
	gap: 10px 14px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-field {
	gap: 4px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-field input:not([type="checkbox"]):not([type="radio"]),
body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-field select {
	font-size: 0.91rem;
	min-height: 44px;
	padding-block: 8px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-field textarea {
	font-size: 0.91rem;
	height: 72px;
	line-height: 1.45;
	min-height: 72px;
	padding: 8px 11px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page #desired-finish {
	height: 58px;
	min-height: 58px;
	resize: vertical;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-field small {
	line-height: 1.4;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-check {
	min-height: 44px;
	padding: 9px 11px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-upload > span {
	min-height: 76px;
	padding: 9px 12px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-upload .dpip-svg {
	height: 25px;
	width: 25px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form-submit {
	gap: 14px;
	padding: 12px clamp(14px, 1.8vw, 20px);
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form-submit > .dpip-btn--yellow {
	font-size: 0.94rem;
	min-height: 48px;
}

/* Professional painter profile: keep all five sections usable without a tall page. */
.dpip.dpip-profile-manager .dpip-compact-hero .dpip-shell {
	padding-block: clamp(18px, 2.6vw, 30px);
}

.dpip.dpip-profile-manager .dpip-compact-hero h1 {
	font-size: clamp(1.65rem, 2.6vw, 2.3rem);
	line-height: 1.18;
	margin: 7px 0 4px;
}

.dpip.dpip-profile-manager .dpip-compact-hero p {
	font-size: clamp(0.88rem, 1vw, 0.96rem);
	line-height: 1.45;
}

.dpip.dpip-profile-manager .dpip-profile-progress {
	flex-basis: 168px;
	padding: 10px 14px;
}

.dpip.dpip-profile-manager .dpip-profile-progress strong {
	font-size: clamp(1.45rem, 2.5vw, 1.9rem);
}

.dpip.dpip-profile-manager .dpip-main {
	padding-block: clamp(16px, 2.5vw, 30px);
}

.dpip.dpip-profile-manager .dpip-dashboard-links {
	margin-bottom: 14px;
	padding: 4px;
}

.dpip.dpip-profile-manager .dpip-dashboard-links a {
	min-height: 44px;
	padding-block: 7px;
}

.dpip.dpip-profile-manager .dpip-profile-manager__layout {
	gap: 16px;
	grid-template-columns: minmax(0, 1fr) 280px;
}

.dpip.dpip-profile-manager .dpip-profile-manager__layout > .dpip-panel {
	padding: clamp(14px, 1.8vw, 20px);
}

.dpip.dpip-profile-manager .dpip-panel-head {
	margin-bottom: 13px;
}

.dpip.dpip-profile-manager .dpip-panel-head h2 {
	font-size: clamp(1.22rem, 1.8vw, 1.55rem);
}

.dpip.dpip-profile-manager .dpip-profile-manager__aside {
	gap: 10px;
}

.dpip.dpip-profile-manager .dpip-profile-manager__aside .dpip-side-panel {
	padding: 14px;
}

.dpip.dpip-profile-manager .dpip-profile-manager__aside .dpip-side-panel p,
.dpip.dpip-profile-manager .dpip-profile-manager__aside .dpip-checklist {
	line-height: 1.45;
}

.dpip.dpip-profile-manager .dpip-structured-profile {
	gap: 8px;
}

.dpip.dpip-profile-manager .dpip-profile-section > summary {
	gap: 9px;
	grid-template-columns: 30px minmax(0, 1fr) 18px;
	min-height: 52px;
	padding: 8px 12px;
}

.dpip.dpip-profile-manager .dpip-profile-section > summary > span {
	height: 28px;
	width: 28px;
}

.dpip.dpip-profile-manager .dpip-profile-section > summary strong {
	font-size: 0.9rem;
	line-height: 1.3;
}

.dpip.dpip-profile-manager .dpip-profile-section > summary small {
	font-size: .8125rem;
	line-height: 1.35;
}

.dpip.dpip-profile-manager .dpip-profile-section > .dpip-form-grid {
	gap: 10px 12px;
	padding: 12px;
}

.dpip.dpip-profile-manager .dpip-structured-profile .dpip-field {
	gap: 4px;
}

.dpip.dpip-profile-manager .dpip-structured-profile .dpip-field > label {
	min-height: 1.4em;
}

.dpip.dpip-profile-manager .dpip-structured-profile .dpip-field input:not([type="checkbox"]):not([type="radio"]),
.dpip.dpip-profile-manager .dpip-structured-profile .dpip-field select {
	font-size: 0.91rem;
	min-height: 44px;
	padding-block: 8px;
}

.dpip.dpip-profile-manager .dpip-structured-profile .dpip-field textarea {
	font-size: 0.91rem;
	height: 76px;
	line-height: 1.45;
	min-height: 76px;
	padding: 8px 11px;
}

.dpip.dpip-profile-manager .dpip-taxonomy-picker .dpip-checkbox-grid {
	gap: 6px;
	margin-top: 5px;
	max-height: 220px;
	padding: 6px;
}

.dpip.dpip-profile-manager .dpip-taxonomy-picker .dpip-checkbox-grid label {
	min-height: 44px;
	padding: 8px 9px;
}

.dpip.dpip-profile-manager .dpip-profile-actions {
	padding: 9px;
}

.dpip.dpip-profile-manager .dpip-profile-actions .dpip-btn {
	min-height: 44px;
}

@media (max-width: 820px) {
	.dpip.dpip-profile-manager .dpip-profile-manager__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip.dpip-profile-manager .dpip-profile-manager__aside {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		position: static;
	}
}

@media (max-width: 640px) {
	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-compact-hero .dpip-shell {
		padding-block: 15px;
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-compact-hero h1 {
		font-size: clamp(1.48rem, 7vw, 1.78rem);
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-main {
		padding-block: 10px 20px;
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form__intro {
		gap: 7px 0;
		padding: 9px 10px;
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form-section {
		padding: 12px 11px;
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-section-title {
		margin-bottom: 9px;
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form-grid {
		gap: 9px;
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-field textarea {
		height: 68px;
		min-height: 68px;
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-upload > span {
		min-height: 70px;
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form-submit {
		padding: 11px;
	}

	.dpip.dpip-profile-manager .dpip-compact-hero .dpip-shell {
		padding-block: 15px;
	}

	.dpip.dpip-profile-manager .dpip-compact-hero h1 {
		font-size: 1.5rem;
	}

	.dpip.dpip-profile-manager .dpip-compact-hero__row {
		gap: 12px;
	}

	.dpip.dpip-profile-manager .dpip-profile-progress {
		align-items: center;
		flex-basis: auto;
		grid-template-columns: minmax(0, 1fr) auto;
		justify-items: start;
		padding: 9px 12px;
	}

	.dpip.dpip-profile-manager .dpip-profile-progress strong {
		grid-column: 2;
		grid-row: 1 / span 2;
		justify-self: end;
	}

	.dpip.dpip-profile-manager .dpip-main {
		padding-block: 12px 20px;
	}

	.dpip.dpip-profile-manager .dpip-profile-manager__layout > .dpip-panel {
		padding: 11px;
	}

	.dpip.dpip-profile-manager .dpip-profile-manager__aside {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip.dpip-profile-manager .dpip-profile-section > summary {
		min-height: 50px;
		padding: 7px 9px;
	}

	.dpip.dpip-profile-manager .dpip-profile-section > .dpip-form-grid {
		gap: 9px;
		padding: 10px;
	}

	.dpip.dpip-profile-manager .dpip-profile-actions {
		padding: 8px;
	}
}

/* Job brief 2.1.1: product-led specialty guidance and explicit material responsibility. */
body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-field-help {
	color: #5b6f84;
	display: block;
	font-size: .8125rem;
	font-weight: 600;
	line-height: 1.45;
	margin: 1px 0 0;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-select {
	background-color: #fff;
	border-color: #adc4dc;
	font-weight: 700;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide {
	border: 1px solid #c9d9e9;
	border-radius: 9px;
	margin-top: 3px;
	overflow: clip;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide > summary {
	align-items: center;
	background: #f4f8fc;
	color: #174f98;
	cursor: pointer;
	display: flex;
	font-size: .8125rem;
	font-weight: 800;
	justify-content: space-between;
	line-height: 1.35;
	min-height: 38px;
	padding: 7px 10px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide > summary::after {
	content: "+";
	font-size: 1rem;
	line-height: 1;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide[open] > summary::after {
	content: "−";
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide__grid {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 9px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide__grid > section {
	background: #fff;
	border: 1px solid #dbe6f0;
	border-radius: 8px;
	min-width: 0;
	padding: 9px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide__grid h3,
body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide__grid p {
	margin: 0;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide__grid h3 {
	color: #0b3567;
	font-size: .8125rem;
	line-height: 1.35;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide__grid p {
	color: #607286;
	font-size: .8125rem;
	line-height: 1.4;
	margin-top: 2px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide__item {
	align-items: center;
	border-top: 1px dashed #d5e1ec;
	display: grid;
	gap: 7px;
	grid-template-columns: 46px minmax(0, 1fr);
	margin-top: 7px;
	padding-top: 7px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide__mark {
	align-items: center;
	background: #eaf3ff;
	border: 1px solid #c9ddf5;
	border-radius: 8px;
	color: #174f98;
	display: inline-flex;
	font-size: .8125rem;
	font-weight: 900;
	height: 34px;
	justify-content: center;
	letter-spacing: -0.02em;
	width: 44px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide__copy {
	display: grid;
	gap: 1px;
	min-width: 0;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide__copy strong {
	color: #12345a;
	font-size: .8125rem;
	line-height: 1.35;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide__copy small {
	color: #66788b;
	font-size: .8125rem;
	line-height: 1.4;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-planner {
	background: linear-gradient(145deg, #f7fbff 0%, #fff 62%);
	border: 1px solid #b9cde1;
	border-radius: 12px;
	margin: 2px 0 0;
	min-width: 0;
	padding: 11px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-planner > legend {
	color: #0b3567;
	font-size: 0.86rem;
	font-weight: 900;
	line-height: 1.3;
	padding-inline: 5px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-options {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 8px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-option {
	align-items: flex-start;
	background: #fff;
	border: 1px solid #cbd9e7;
	border-radius: 9px;
	cursor: pointer;
	display: grid;
	gap: 8px;
	grid-template-columns: 18px minmax(0, 1fr);
	line-height: 1.35;
	min-height: 76px;
	padding: 9px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-option:hover,
body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-option:has(input:checked) {
	background: #fff9dd;
	border-color: #e2ae00;
	box-shadow: inset 3px 0 0 #ffc501;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-option:has(input:focus-visible) {
	outline: 3px solid rgba(23, 79, 152, 0.28);
	outline-offset: 2px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-option input {
	accent-color: #174f98;
	height: 18px;
	margin: 1px 0 0;
	width: 18px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-option__copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-option__copy strong {
	color: #0b3567;
	font-size: .8125rem;
	font-weight: 800;
	line-height: 1.35;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-option__copy small {
	color: #607286;
	font-size: .8125rem;
	line-height: 1.4;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-details {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 9px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-details > label {
	display: grid;
	gap: 4px;
	min-width: 0;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-details > label > span {
	color: #263f5a;
	font-size: .8125rem;
	font-weight: 800;
	line-height: 1.35;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-details__notes {
	grid-column: 1 / -1;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-details textarea {
	height: 58px;
	min-height: 58px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-planner__notice {
	background: #eaf3ff;
	border-left: 3px solid #174f98;
	border-radius: 6px;
	color: #34516f;
	font-size: .8125rem;
	font-weight: 700;
	line-height: 1.45;
	margin: 9px 0 0;
	padding: 7px 9px;
}

@media (max-width: 900px) {
	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-specialty-guide__grid,
	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-options,
	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-details {
		grid-template-columns: minmax(0, 1fr);
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-planner {
		padding: 9px;
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-option {
		min-height: 70px;
		padding: 8px;
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-details__notes {
		grid-column: auto;
	}

	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-material-details textarea {
		height: 56px;
		min-height: 56px;
	}
}

/* Official two-level administrative selector: Province/City -> Ward/Commune. */
.dpip .dpip-location-pair {
	align-items: start;
	display: grid;
	gap: 10px 14px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-width: 0;
}

.dpip .dpip-location-pair > .dpip-field {
	min-width: 0;
}

.dpip .dpip-location-pair select,
.dpip .dpip-location-pair .select2-container {
	max-width: 100%;
	width: 100% !important;
}

/* Keep SelectWoo's native control clipped; the generic 100% select rule above
 * must not turn its accessibility-only element into a page-wide overflow. */
.dpip .dpip-location-pair select.select2-hidden-accessible {
	max-width: 1px !important;
	width: 1px !important;
}

.dpip .dpip-location-pair .select2-container .select2-selection--single {
	align-items: center;
	background: #fff;
	border: 1px solid #b9cbe0;
	border-radius: 8px;
	display: flex;
	height: 44px;
	min-height: 44px;
	padding: 0 36px 0 12px;
}

.dpip .dpip-location-pair .select2-selection__rendered {
	color: #17324d;
	line-height: 1.35 !important;
	padding: 0 !important;
}

.dpip .dpip-location-pair .select2-selection__arrow {
	height: 42px !important;
	right: 8px !important;
	top: 0 !important;
}

.dpip .dpip-location-pair .select2-container--focus .select2-selection--single,
.dpip .dpip-location-pair .select2-container--open .select2-selection--single {
	border-color: var(--dpip-blue);
	box-shadow: 0 0 0 3px rgba(23, 79, 152, 0.14);
}

.dpip .dpip-location-status {
	color: #5c7087;
	font-size: .8125rem;
	grid-column: 1 / -1;
	line-height: 1.45;
	margin-top: -2px;
}

.dpip .dpip-location-pair.has-location-error .dpip-location-status {
	color: #b42318;
	font-weight: 700;
}

.dpip .dpip-location-status--error {
	color: #b42318;
	display: block;
	font-weight: 700;
}

@media (max-width: 640px) {
	.dpip .dpip-location-pair {
		gap: 8px;
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip .dpip-location-status {
		grid-column: auto;
	}
}

@media (max-width: 420px) {
	.dpip .dpip-birth-picker__controls {
		gap: 5px;
		grid-template-columns: minmax(0, .74fr) minmax(0, 1.12fr) minmax(0, 1fr);
	}

	.dpip .dpip-birth-picker__controls select {
		font-size: .8125rem;
		min-width: 0;
		padding-left: 6px;
		padding-right: 20px;
	}

	.dpip .dpip-birth-picker__controls > label > span {
		font-size: .8125rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dpip *,
	.dpip *::before,
	.dpip *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* --------------------------------------------------------------------------
 * 2.6.0 task-first workspace: one title, one next action, details on demand.
 * These components are part of the canonical plugin source and remain scoped
 * to the exact DPIP managed routes.
 * -------------------------------------------------------------------------- */
body.dpip-dashboard-page #primary.sdd-standard-page > .sdd-narrow-shell > .sdd-page-article > .sdd-page-header,
body.dpip-job-board-page #primary.sdd-standard-page > .sdd-narrow-shell > .sdd-page-article > .sdd-page-header,
body.dpip-post-job-page #primary.sdd-standard-page > .sdd-narrow-shell > .sdd-page-article > .sdd-page-header,
body.dpip-profile-page #primary.sdd-standard-page > .sdd-narrow-shell > .sdd-page-article > .sdd-page-header {
	display: none;
}

.dpip .dpip-workspace-header {
	background: linear-gradient(112deg, #103f78 0%, #1757a6 72%, #426f9e 100%);
	color: #fff;
	margin: 0;
	min-height: 0;
	padding: 24px 0;
}

.dpip .dpip-workspace-header > .dpip-shell {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
}

.dpip .dpip-workspace-header h1 {
	color: #fff;
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	margin: 3px 0 5px;
}

.dpip .dpip-workspace-header p {
	color: rgba(255, 255, 255, .88);
	font-size: .95rem;
	line-height: 1.5;
	margin: 0;
	max-width: 760px;
}

.dpip .dpip-workspace-header__meta,
.dpip .dpip-persona-badge {
	align-items: center;
	background: rgba(255, 255, 255, .13);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 12px;
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	font-size: .8125rem;
	justify-content: center;
	line-height: 1.35;
	min-height: 64px;
	min-width: 132px;
	padding: 9px 14px;
	text-align: center;
}

.dpip .dpip-workspace-header__meta strong {
	color: #fff;
	font-size: 1.15rem;
}

.dpip .dpip-persona-badge {
	color: #fff;
	font-size: .85rem;
	font-weight: 800;
	min-height: 44px;
}

.dpip .dpip-workspace-status {
	align-items: center;
	background: #fff;
	border: 1px solid var(--dpip-line);
	border-top: 4px solid var(--dpip-yellow);
	border-radius: 14px;
	box-shadow: var(--dpip-shadow-sm);
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(230px, 1.25fr) minmax(320px, 1fr) auto;
	margin-bottom: 16px;
	padding: 20px 22px;
}

.dpip .dpip-workspace-status__identity {
	align-items: center;
	display: flex;
	gap: 14px;
	min-width: 0;
}

.dpip .dpip-workspace-status__identity h2 {
	font-size: 1.35rem;
	margin: 2px 0 8px;
}

.dpip .dpip-workspace-status dl {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

.dpip .dpip-workspace-status dl > div {
	border-left: 1px solid var(--dpip-line);
	min-width: 0;
	padding-left: 12px;
}

.dpip .dpip-workspace-status dt,
.dpip .dpip-workspace-status dd {
	margin: 0;
}

.dpip .dpip-workspace-status dt {
	color: var(--dpip-muted);
	font-size: .8125rem;
	font-weight: 700;
}

.dpip .dpip-workspace-status dd {
	color: var(--dpip-ink);
	font-size: .88rem;
	font-weight: 800;
	line-height: 1.4;
}

.dpip .dpip-task-card {
	align-items: center;
	background: #f2f7fd;
	border: 1px solid #c9daed;
	border-radius: 14px;
	display: grid;
	gap: 16px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	margin-bottom: 16px;
	padding: 16px 20px;
}

.dpip .dpip-task-card__icon {
	align-items: center;
	background: #174f98;
	border-radius: 12px;
	color: #fff;
	display: inline-flex;
	height: 46px;
	justify-content: center;
	width: 46px;
}

.dpip .dpip-task-card__icon svg {
	height: 22px;
	width: 22px;
}

.dpip .dpip-task-card h2 {
	font-size: 1.15rem;
	margin: 2px 0 2px;
}

.dpip .dpip-task-card p {
	color: var(--dpip-muted);
	font-size: .9rem;
	margin: 0;
}

.dpip .dpip-kpi-grid--links {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dpip .dpip-kpi-grid--links > a {
	background: #fff;
	border: 1px solid var(--dpip-line);
	border-radius: 12px;
	color: var(--dpip-ink);
	display: grid;
	gap: 2px;
	grid-template-columns: auto minmax(0, 1fr);
	min-height: 86px;
	padding: 14px;
}

.dpip .dpip-kpi-grid--links > a:hover {
	border-color: #8aafd9;
	box-shadow: 0 7px 18px rgba(18, 50, 82, .08);
	transform: translateY(-1px);
}

.dpip .dpip-kpi-grid--links > a small,
.dpip .dpip-kpi-grid--links > a strong {
	grid-column: 2;
}

.dpip .dpip-kpi-grid--links > a strong {
	font-size: 1.2rem;
}

.dpip .dpip-dashboard-grid--task-first {
	align-items: start;
	grid-template-columns: minmax(0, 1fr) 300px;
}

.dpip .dpip-dashboard-grid--task-first > aside {
	position: static;
}

.dpip .dpip-secondary-tool {
	padding: 0;
}

.dpip .dpip-secondary-tool > summary,
.dpip .dpip-persona-section > summary {
	cursor: pointer;
	font-weight: 800;
	list-style: none;
}

.dpip .dpip-secondary-tool > summary::-webkit-details-marker,
.dpip .dpip-persona-section > summary::-webkit-details-marker {
	display: none;
}

.dpip .dpip-secondary-tool > summary {
	padding: 16px 18px;
}

.dpip .dpip-secondary-tool > div {
	border-top: 1px solid var(--dpip-line);
	padding: 0 18px 18px;
}

.dpip .dpip-persona-section {
	margin-top: 18px;
}

.dpip .dpip-persona-section > summary {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	padding: 18px 20px;
}

.dpip .dpip-persona-section > summary h2 {
	font-size: 1.35rem;
	margin: 2px 0 0;
}

.dpip .dpip-persona-section > summary > span {
	background: var(--dpip-blue-soft);
	border-radius: 999px;
	color: var(--dpip-blue-dark);
	font-size: .8125rem;
	padding: 5px 10px;
}

.dpip .dpip-filter-panel {
	background: #fff;
	border: 1px solid var(--dpip-line);
	border-radius: 14px;
	box-shadow: var(--dpip-shadow-sm);
	margin-bottom: 22px;
	padding: 18px;
}

.dpip .dpip-filter-panel__head {
	align-items: end;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 12px;
}

.dpip .dpip-filter-panel__head h2 {
	font-size: 1.15rem;
	margin: 1px 0 0;
}

.dpip .dpip-filter-reset {
	font-size: .84rem;
	font-weight: 800;
	white-space: nowrap;
}

.dpip .dpip-filter--jobs {
	align-items: end;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(180px, 1.25fr) repeat(3, minmax(145px, 1fr)) auto;
	margin: 0;
	padding: 0;
}

.dpip .dpip-filter--jobs .dpip-field {
	min-width: 0;
}

.dpip .dpip-results-head {
	margin-bottom: 12px;
}

.dpip .dpip-results-head h2 {
	font-size: 1.45rem;
	margin: 2px 0;
}

.dpip .dpip-results-head p {
	color: var(--dpip-muted);
	font-size: .88rem;
	margin: 0;
}

.dpip .dpip-job-card--compact {
	border: 1px solid var(--dpip-line);
	border-radius: 14px;
	box-shadow: 0 8px 22px rgba(18, 50, 82, .07);
	padding: 20px;
}

.dpip .dpip-job-card--compact + .dpip-job-card--compact {
	margin-top: 14px;
}

.dpip .dpip-job-card__status {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.dpip .dpip-job-card__status small {
	color: var(--dpip-muted);
	font-size: .8125rem;
	white-space: nowrap;
}

.dpip .dpip-job-card__preview {
	display: grid;
	gap: 6px 20px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 12px 0;
}

.dpip .dpip-job-card__preview p {
	color: var(--dpip-muted);
	font-size: .88rem;
	margin: 0;
}

.dpip .dpip-job-card__preview strong {
	color: var(--dpip-ink);
}

.dpip .dpip-job-details {
	border-top: 1px solid var(--dpip-line);
	margin-top: 14px;
}

.dpip .dpip-job-details > summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	list-style: none;
	min-height: 48px;
	padding: 10px 0 0;
}

.dpip .dpip-job-details > summary::-webkit-details-marker {
	display: none;
}

.dpip .dpip-job-details > summary span {
	color: var(--dpip-muted);
	font-size: .82rem;
}

.dpip .dpip-job-details > summary strong {
	color: var(--dpip-blue);
	font-size: .9rem;
}

.dpip .dpip-job-details[open] > summary {
	border-bottom: 1px solid var(--dpip-line);
	padding-bottom: 10px;
}

.dpip .dpip-job-details__body {
	display: grid;
	gap: 14px;
	padding-top: 16px;
}

.dpip .dpip-contact-unlocked--compact,
.dpip .dpip-contact-masked--compact {
	border-radius: 10px;
	margin: 0;
	padding: 12px 14px;
}

.dpip .dpip-image-fallback {
	align-items: center;
	background: #eef3f8;
	border: 1px dashed #b9cbe0;
	border-radius: 8px;
	color: var(--dpip-muted);
	display: flex;
	font-size: .8125rem;
	height: 100%;
	justify-content: center;
	min-height: 108px;
	padding: 8px;
	text-align: center;
}

.dpip [data-dpip-private-image][hidden],
.dpip .dpip-image-fallback[hidden] {
	display: none !important;
}

.dpip .dpip-job-details .dpip-private-gallery {
	margin-top: 0;
}

.dpip .dpip-job-details .dpip-private-gallery > div {
	align-items: start;
	grid-template-columns: repeat(auto-fill, minmax(120px, 180px));
}

.dpip .dpip-job-details .dpip-private-gallery a {
	display: block;
	max-width: 180px;
}

.dpip .dpip-job-card__quote {
	border-top: 1px solid var(--dpip-line);
	padding-top: 14px;
}

.dpip .dpip-job-card__quote h4 {
	font-size: 1.05rem;
	margin: 0 0 10px;
}

.dpip .dpip-status.is-quoted,
.dpip .dpip-status--pending,
.dpip .dpip-status--needs_information {
	background: #fff5d8;
	color: #805700;
}

/* Four-step form: all panels remain visible without JavaScript. */
.dpip .dpip-form--wizard {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.dpip .dpip-wizard-steps {
	background: #eef4fb;
	border: 1px solid var(--dpip-line);
	border-radius: 14px 14px 0 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.dpip .dpip-wizard-steps li {
	margin: 0;
	min-width: 0;
}

.dpip .dpip-wizard-steps button {
	align-items: center;
	background: transparent;
	border: 0;
	border-bottom: 3px solid transparent;
	color: var(--dpip-muted);
	cursor: pointer;
	display: flex;
	font: inherit;
	gap: 8px;
	justify-content: center;
	min-height: 56px;
	padding: 8px 10px;
	width: 100%;
}

.dpip .dpip-wizard-steps button span {
	align-items: center;
	background: #d9e6f4;
	border-radius: 50%;
	display: inline-flex;
	font-size: .8125rem;
	font-weight: 800;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.dpip .dpip-wizard-steps button strong {
	font-size: .83rem;
	white-space: nowrap;
}

.dpip .dpip-wizard-steps button[aria-current="step"] {
	border-bottom-color: var(--dpip-blue);
	color: var(--dpip-blue-dark);
}

.dpip .dpip-wizard-steps button[aria-current="step"] span {
	background: var(--dpip-blue);
	color: #fff;
}

.dpip .dpip-wizard-steps button:disabled {
	cursor: not-allowed;
	opacity: .55;
}

.dpip .dpip-wizard-progress {
	align-items: center;
	background: #fff;
	border: 1px solid var(--dpip-line);
	border-top: 0;
	color: var(--dpip-muted);
	display: none;
	font-size: .8125rem;
	justify-content: space-between;
	padding: 8px 12px;
}

.dpip .dpip-wizard-progress > span:first-child {
	color: var(--dpip-blue-dark);
	font-weight: 800;
}

.dpip .dpip-wizard-layout {
	align-items: start;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) 300px;
	margin-top: 18px;
}

.dpip .dpip-wizard-main,
.dpip .dpip-wizard-summary {
	background: #fff;
	border: 1px solid var(--dpip-line);
	border-radius: 14px;
	box-shadow: var(--dpip-shadow-sm);
}

.dpip .dpip-wizard-main {
	overflow: hidden;
}

.dpip .dpip-form--wizard .dpip-form-section {
	border: 0;
	margin: 0;
	padding: 22px;
}

.dpip .dpip-form--wizard.is-enhanced [hidden] {
	display: none !important;
}

.dpip .dpip-wizard-errors {
	background: var(--dpip-danger-soft);
	border-bottom: 1px solid #efb8b2;
	color: var(--dpip-danger);
	font-size: .88rem;
	font-weight: 800;
	padding: 12px 18px;
}

.dpip .dpip-wizard-actions {
	align-items: center;
	background: #f7f9fc;
	border-top: 1px solid var(--dpip-line);
	display: flex;
	gap: 10px;
	padding: 14px 18px;
}

.dpip .dpip-wizard-actions__spacer {
	flex: 1;
}

.dpip .dpip-form-security {
	align-items: center;
	color: var(--dpip-muted);
	display: flex;
	font-size: .8125rem;
	gap: 7px;
	padding: 0 18px 14px;
}

.dpip .dpip-form-security svg {
	color: var(--dpip-success);
	height: 16px;
	width: 16px;
}

.dpip .dpip-wizard-summary {
	padding: 18px;
	position: sticky;
	top: 18px;
}

.dpip .dpip-wizard-summary h2 {
	font-size: 1.15rem;
	margin: 2px 0 12px;
}

.dpip .dpip-wizard-summary dl {
	display: grid;
	gap: 0;
	margin: 0;
}

.dpip .dpip-wizard-summary dl > div {
	border-top: 1px solid var(--dpip-line);
	padding: 9px 0;
}

.dpip .dpip-wizard-summary dt,
.dpip .dpip-wizard-summary dd {
	margin: 0;
}

.dpip .dpip-wizard-summary dt {
	color: var(--dpip-muted);
	font-size: .8125rem;
	font-weight: 700;
}

.dpip .dpip-wizard-summary dd {
	color: var(--dpip-ink);
	font-size: .86rem;
	font-weight: 800;
	line-height: 1.4;
}

.dpip .dpip-wizard-summary > p {
	background: var(--dpip-blue-soft);
	border-radius: 9px;
	color: var(--dpip-muted);
	font-size: .8125rem;
	margin: 12px 0 0;
	padding: 9px;
}

.dpip .dpip-material-details[hidden] {
	display: none !important;
}

@media (max-width: 1024px) {
	.dpip .dpip-workspace-status {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.dpip .dpip-workspace-status dl {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.dpip .dpip-filter--jobs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip .dpip-filter--jobs .dpip-field--keyword {
		grid-column: span 2;
	}

	.dpip .dpip-filter--jobs > .dpip-btn {
		justify-self: start;
	}

	.dpip .dpip-wizard-layout,
	.dpip .dpip-dashboard-grid--task-first {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip .dpip-wizard-summary {
		position: static;
	}
}

@media (max-width: 767px) {
	.dpip .dpip-workspace-header {
		padding: 18px 0;
	}

	.dpip .dpip-workspace-header > .dpip-shell {
		align-items: flex-start;
		gap: 12px;
	}

	.dpip .dpip-workspace-header h1 {
		font-size: 1.7rem;
	}

	.dpip .dpip-workspace-header__meta {
		min-width: 92px;
		padding: 7px 9px;
	}

	.dpip .dpip-persona-badge {
		min-width: 92px;
	}

	.dpip .dpip-workspace-status {
		grid-template-columns: minmax(0, 1fr);
		padding: 16px;
	}

	.dpip .dpip-workspace-status dl,
	.dpip .dpip-workspace-status > .dpip-btn {
		grid-column: auto;
		grid-row: auto;
	}

	.dpip .dpip-workspace-status > .dpip-btn {
		width: 100%;
	}

	.dpip .dpip-task-card {
		grid-template-columns: auto minmax(0, 1fr);
		padding: 14px;
	}

	.dpip .dpip-task-card > .dpip-btn {
		grid-column: 1 / -1;
		width: 100%;
	}

	.dpip .dpip-kpi-grid--links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip .dpip-filter--jobs {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip .dpip-filter--jobs .dpip-field--keyword {
		grid-column: auto;
	}

	.dpip .dpip-filter--jobs > .dpip-btn {
		width: 100%;
	}

	.dpip .dpip-job-card--compact {
		padding: 16px;
	}

	.dpip .dpip-job-card__head,
	.dpip .dpip-job-card__preview {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip .dpip-job-card__status {
		align-items: flex-start;
	}

	.dpip .dpip-job-card__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip .dpip-wizard-steps {
		border-radius: 12px 12px 0 0;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		overflow: hidden;
	}

	.dpip .dpip-wizard-steps li {
		min-width: 0;
		width: 100%;
	}

	.dpip .dpip-wizard-steps button {
		gap: 6px;
		justify-content: flex-start;
		min-width: 0;
		padding-inline: 8px;
	}

	.dpip .dpip-wizard-steps button strong {
		line-height: 1.2;
		text-align: left;
		white-space: normal;
	}

	.dpip .dpip-wizard-progress {
		display: flex;
	}

	.dpip .dpip-form--wizard .dpip-form-section {
		padding: 16px;
	}

	.dpip .dpip-wizard-actions {
		flex-wrap: wrap;
	}

	.dpip .dpip-wizard-actions .dpip-btn {
		flex: 1 1 130px;
	}

	.dpip .dpip-wizard-summary {
		padding: 16px;
	}
}

@media (max-width: 390px) {
	.dpip .dpip-workspace-header > .dpip-shell {
		flex-direction: column;
	}

	.dpip .dpip-workspace-header__meta,
	.dpip .dpip-persona-badge {
		align-items: flex-start;
		min-height: 40px;
		width: 100%;
	}

	.dpip .dpip-workspace-status dl {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip .dpip-workspace-status dl > div {
		border-left: 0;
		border-top: 1px solid var(--dpip-line);
		padding: 7px 0 0;
	}

	.dpip .dpip-job-details > summary {
		align-items: flex-start;
		flex-direction: column;
		gap: 3px;
	}
}

/* --------------------------------------------------------------------------
 * 2.7.0 shell-aligned compact density.
 * Spacing only: review, quotation, contact-unlock and discussion behaviour is
 * intentionally left to the existing component rules and JavaScript.
 * -------------------------------------------------------------------------- */
body.dpip-dashboard-page .dpip .dpip-workspace-header,
body.dpip-job-board-page .dpip .dpip-workspace-header,
body.dpip-post-job-page .dpip .dpip-workspace-header,
body.dpip-profile-page .dpip .dpip-workspace-header {
	padding-block: 20px;
}

body.dpip-dashboard-page .dpip .dpip-workspace-header > .dpip-shell,
body.dpip-job-board-page .dpip .dpip-workspace-header > .dpip-shell,
body.dpip-post-job-page .dpip .dpip-workspace-header > .dpip-shell,
body.dpip-profile-page .dpip .dpip-workspace-header > .dpip-shell {
	gap: 18px;
}

.dpip .dpip-workspace-status {
	gap: 14px;
	margin-bottom: 14px;
	padding: 16px 18px;
}

.dpip .dpip-workspace-status__identity {
	gap: 12px;
}

.dpip .dpip-workspace-status dl {
	gap: 6px;
}

.dpip .dpip-workspace-status dl > div {
	padding-left: 10px;
}

.dpip .dpip-task-card {
	gap: 12px;
	margin-bottom: 14px;
	padding: 14px 16px;
}

.dpip .dpip-kpi-grid--links {
	gap: 10px;
	margin-bottom: 16px;
}

.dpip .dpip-kpi-grid--links > a {
	min-height: 78px;
	padding: 12px;
}

.dpip .dpip-dashboard-grid--task-first {
	gap: 16px;
	grid-template-columns: minmax(0, 1fr) 288px;
}

.dpip .dpip-dashboard-grid--task-first > aside {
	gap: 14px;
}

.dpip .dpip-dashboard-grid--task-first > div > #dpip-painter-quotes.dpip-panel,
.dpip .dpip-dashboard-grid--task-first > aside > .dpip-side-panel {
	padding: 16px 18px;
}

.dpip .dpip-secondary-tool > summary {
	padding: 14px 16px;
}

.dpip .dpip-secondary-tool > div {
	padding: 0 16px 16px;
}

.dpip .dpip-persona-section {
	margin-top: 14px;
	overflow: hidden;
	padding: 0 16px 16px;
}

.dpip .dpip-persona-section > summary {
	gap: 14px;
	margin: 0 -16px 12px;
	padding: 14px 16px;
}

.dpip .dpip-filter-panel {
	margin-bottom: 16px;
	padding: 14px 16px;
}

.dpip .dpip-filter-panel__head {
	gap: 12px;
	margin-bottom: 10px;
}

.dpip .dpip-job-card--compact {
	padding: 16px 18px;
}

.dpip .dpip-job-card--compact + .dpip-job-card--compact {
	margin-top: 12px;
}

.dpip .dpip-job-card__preview {
	gap: 4px 16px;
	margin-block: 10px;
}

.dpip .dpip-job-details {
	margin-top: 12px;
}

.dpip .dpip-job-details__body {
	gap: 12px;
	padding-top: 12px;
}

.dpip .dpip-job-card__quote {
	padding-top: 12px;
}

.dpip .dpip-wizard-steps button {
	min-height: 50px;
	padding: 6px 8px;
}

.dpip .dpip-wizard-layout {
	gap: 14px;
	grid-template-columns: minmax(0, 1fr) 280px;
	margin-top: 14px;
}

.dpip .dpip-form--wizard .dpip-form-section {
	padding: 18px;
}

body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-form-grid {
	gap: 10px 12px;
}

.dpip .dpip-wizard-errors {
	padding: 10px 16px;
}

.dpip .dpip-wizard-actions {
	padding: 12px 16px;
}

.dpip .dpip-form-security {
	padding: 0 16px 12px;
}

.dpip .dpip-wizard-summary {
	padding: 14px 16px;
}

@media (max-width: 1024px) {
	.dpip .dpip-wizard-layout,
	.dpip .dpip-dashboard-grid--task-first {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	body.dpip-managed-page #primary.sdd-standard-page > .sdd-narrow-shell,
	body.dpip-managed-page .entry-content > .dpip .dpip-shell,
	body.dpip-managed-page .entry-content > .dpip.dpip-shell {
		width: calc(100% - 20px);
	}

	body.dpip-managed-page .dpip-main {
		padding-block: 16px 22px;
	}

	body.dpip-dashboard-page .dpip .dpip-workspace-header,
	body.dpip-job-board-page .dpip .dpip-workspace-header,
	body.dpip-post-job-page .dpip .dpip-workspace-header,
	body.dpip-profile-page .dpip .dpip-workspace-header {
		padding-block: 14px;
	}

	body.dpip-dashboard-page .dpip .dpip-workspace-header > .dpip-shell,
	body.dpip-job-board-page .dpip .dpip-workspace-header > .dpip-shell,
	body.dpip-post-job-page .dpip .dpip-workspace-header > .dpip-shell,
	body.dpip-profile-page .dpip .dpip-workspace-header > .dpip-shell {
		gap: 10px;
	}

	.dpip .dpip-workspace-header h1 {
		font-size: 1.6rem;
	}

	.dpip .dpip-workspace-header p {
		font-size: .88rem;
	}

	.dpip .dpip-workspace-status {
		gap: 12px;
		margin-bottom: 12px;
		padding: 12px;
	}

	.dpip .dpip-workspace-status__identity {
		gap: 10px;
	}

	.dpip .dpip-workspace-status__identity h2 {
		font-size: 1.15rem;
		margin-bottom: 5px;
	}

	.dpip .dpip-workspace-status dl {
		gap: 4px;
	}

	.dpip .dpip-workspace-status dl > div {
		padding-left: 8px;
	}

	.dpip .dpip-task-card {
		gap: 10px;
		margin-bottom: 12px;
		padding: 12px;
	}

	.dpip .dpip-task-card__icon {
		height: 40px;
		width: 40px;
	}

	.dpip .dpip-kpi-grid--links {
		gap: 8px;
		margin-bottom: 12px;
	}

	.dpip .dpip-kpi-grid--links > a {
		min-height: 70px;
		padding: 10px;
	}

	.dpip .dpip-dashboard-grid--task-first {
		gap: 12px;
	}

	.dpip .dpip-dashboard-grid--task-first > div > #dpip-painter-quotes.dpip-panel,
	.dpip .dpip-dashboard-grid--task-first > aside > .dpip-side-panel {
		padding: 12px;
	}

	.dpip .dpip-persona-section {
		margin-top: 12px;
		padding: 0 12px 12px;
	}

	.dpip .dpip-persona-section > summary {
		gap: 10px;
		margin: 0 -12px 10px;
		padding: 12px;
	}

	.dpip .dpip-persona-section > summary h2 {
		font-size: 1.15rem;
	}

	.dpip .dpip-filter-panel {
		margin-bottom: 14px;
		padding: 12px;
	}

	.dpip .dpip-filter-panel__head {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
		margin-bottom: 9px;
	}

	.dpip .dpip-job-card--compact {
		padding: 12px;
	}

	.dpip .dpip-wizard-steps button {
		min-height: 48px;
	}

	.dpip .dpip-wizard-layout {
		gap: 12px;
		margin-top: 12px;
	}

	.dpip .dpip-form--wizard .dpip-form-section,
	.dpip .dpip-wizard-summary {
		padding: 12px;
	}

	.dpip .dpip-wizard-actions {
		padding: 10px 12px;
	}

	.dpip .dpip-form-security {
		padding: 0 12px 10px;
	}
}

@media (max-width: 390px) {
	body.dpip-managed-page #primary.sdd-standard-page > .sdd-narrow-shell,
	body.dpip-managed-page .entry-content > .dpip .dpip-shell,
	body.dpip-managed-page .entry-content > .dpip.dpip-shell {
		width: calc(100% - 16px);
	}
}

/* --------------------------------------------------------------------------
 * Job board: durable detail targets and compact, page-scoped density.
 * Structured filters stay on this route; query, photo and contact gates are
 * deliberately untouched.
 * -------------------------------------------------------------------------- */
body.dpip-job-board-page .dpip.dpip-job-board .dpip-workspace-header {
	padding-block: 14px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-workspace-header > .dpip-shell {
	gap: 14px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-workspace-header h1 {
	font-size: clamp(1.55rem, 2.3vw, 2.05rem);
	line-height: 1.15;
	margin-block: 2px 3px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-workspace-header p {
	font-size: .88rem;
	line-height: 1.42;
	max-width: 620px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-workspace-header__meta {
	min-height: 52px;
	min-width: 116px;
	padding: 6px 10px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-main {
	padding-block: 14px 24px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel {
	background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
	border-color: #c7d9ec;
	border-radius: 14px;
	border-top: 3px solid var(--dpip-blue);
	box-shadow: 0 10px 26px rgba(18, 50, 82, .08);
	margin-bottom: 14px;
	overflow: hidden;
	padding: 11px 14px 14px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel__head {
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel__title {
	align-items: center;
	display: flex;
	gap: 10px;
	min-width: 0;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel__icon {
	align-items: center;
	background: var(--dpip-blue-soft);
	border: 1px solid #c7d9ec;
	border-radius: 10px;
	color: var(--dpip-blue);
	display: inline-flex;
	flex: 0 0 38px;
	height: 38px;
	justify-content: center;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel__icon .dpip-svg {
	height: 19px;
	width: 19px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel__head .dpip-kicker {
	display: block;
	font-size: .8125rem;
	letter-spacing: .1em;
	line-height: 1.2;
	white-space: nowrap;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel__head h2 {
	font-size: 1.08rem;
	line-height: 1.2;
	margin-top: 2px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-reset {
	align-items: center;
	background: #fff;
	border: 1px solid #abc3de;
	border-radius: 9px;
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	padding: 7px 11px;
	text-decoration: none;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	gap: 8px;
	grid-template-columns: minmax(220px, 1.55fr) minmax(145px, .85fr) minmax(160px, .95fr) minmax(135px, .78fr) minmax(145px, .75fr);
	margin: 0;
	padding: 0;
}

/* Reset theme field-label decorations so labels sit cleanly above controls. */
body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs .dpip-field {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	gap: 5px;
	margin: 0 !important;
	padding: 0 !important;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs .dpip-field > label {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	display: block !important;
	float: none !important;
	height: auto !important;
	inset: auto !important;
	line-height: 1.25;
	margin: 0 !important;
	min-height: 0 !important;
	overflow: visible !important;
	padding: 0 !important;
	position: static !important;
	transform: none !important;
	width: auto !important;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs .dpip-field > label::before,
body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs .dpip-field > label::after {
	content: none !important;
	display: none !important;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs input,
body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs select,
body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter__submit {
	min-height: 44px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs input,
body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs select {
	background-color: #fff;
	border-color: #abc3de;
	min-width: 0;
	padding-block: 8px;
	text-overflow: ellipsis;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs input:hover,
body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs select:hover {
	border-color: var(--dpip-blue);
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter__submit {
	border-radius: 10px;
	box-shadow: 0 8px 18px rgba(23, 79, 152, .22);
	gap: 7px;
	justify-self: stretch;
	padding-inline: 13px;
	white-space: nowrap;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter__submit .dpip-svg {
	flex: 0 0 auto;
	height: 18px;
	width: 18px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-results-head {
	margin-bottom: 8px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-results-head h2 {
	font-size: 1.28rem;
	line-height: 1.2;
	margin-block: 1px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-results-head p {
	font-size: .82rem;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-list {
	gap: 10px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card--compact {
	padding: 14px 16px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card--compact + .dpip-job-card--compact {
	margin-top: 0;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__head {
	gap: 14px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__head h3 {
	font-size: clamp(1.08rem, 1.8vw, 1.34rem);
	line-height: 1.28;
	margin: 7px 0 4px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__title-link {
	color: var(--dpip-ink);
	text-decoration: none;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__title-link:hover {
	color: var(--dpip-blue);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__title-link:focus-visible,
body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__detail-link:focus-visible,
body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter__submit:focus-visible {
	outline: 3px solid rgba(255, 197, 1, .78);
	outline-offset: 3px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__status {
	gap: 3px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__status small {
	font-size: .8125rem;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__facts {
	border-radius: 10px;
	margin: 10px 0 8px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__facts > span {
	padding: 8px 10px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__facts small {
	font-size: .8125rem;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__facts strong {
	font-size: .82rem;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__preview {
	gap: 4px 14px;
	margin-block: 7px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__preview p {
	font-size: .83rem;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__detail-launch {
	align-items: center;
	border-top: 1px solid var(--dpip-line);
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-top: 9px;
	padding-top: 9px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__detail-launch > span {
	color: var(--dpip-muted);
	font-size: .8125rem;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__detail-link {
	align-items: center;
	background: var(--dpip-blue);
	border: 1px solid var(--dpip-blue);
	border-radius: 9px;
	box-shadow: 0 7px 16px rgba(23, 79, 152, .2);
	color: #fff;
	display: inline-flex;
	font-size: .84rem;
	font-weight: 800;
	gap: 7px;
	justify-content: center;
	line-height: 1.25;
	min-height: 44px;
	padding: 8px 13px;
	text-align: center;
	text-decoration: none;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__detail-link:hover {
	background: var(--dpip-blue-dark);
	border-color: var(--dpip-blue-dark);
	color: #fff;
	transform: translateY(-1px);
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-details {
	border: 0;
	margin-top: 0;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-details:not([open]) > summary {
	display: none;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-details[open] {
	background: #f7faff;
	border: 1px solid #c7d9ec;
	border-radius: 10px;
	margin-top: 9px;
	padding: 0 12px 12px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-details > summary {
	min-height: 44px;
	padding: 8px 0;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-details[open] > summary {
	padding-bottom: 8px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-details__body {
	gap: 10px;
	padding-top: 10px;
}

body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__quote {
	margin-top: 0;
	padding-top: 10px;
}

@media (min-width: 1280px) {
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs {
		grid-template-columns: minmax(250px, 1.6fr) minmax(155px, .85fr) minmax(170px, .95fr) minmax(145px, .78fr) minmax(150px, .75fr);
	}
}

@media (max-width: 1024px) {
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs .dpip-field--keyword {
		grid-column: 1 / -1;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter__submit {
		justify-self: stretch;
		width: 100%;
	}
}

@media (max-width: 767px) {
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-main {
		padding-block: 10px 18px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel {
		border-top-width: 3px;
		padding: 9px 11px 11px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel__head {
		align-items: center;
		flex-direction: row;
		gap: 8px;
		margin-bottom: 9px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel__icon {
		flex-basis: 36px;
		height: 36px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel__head h2 {
		font-size: 1rem;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-reset {
		font-size: .8125rem;
		min-height: 44px;
		padding-inline: 9px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs {
		gap: 8px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs .dpip-field--keyword {
		grid-column: 1 / -1;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs .dpip-field > label {
		font-size: .8125rem;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter__submit {
		font-size: .875rem;
		width: 100%;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card--compact {
		padding: 11px 12px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__head {
		display: grid;
		gap: 8px;
		grid-template-columns: minmax(0, 1fr);
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__status {
		align-items: center;
		flex-direction: row;
		justify-content: space-between;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__facts > span:nth-child(3) {
		border-left: 0;
		border-top: 1px solid var(--dpip-line);
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__facts > span:nth-child(4) {
		border-top: 1px solid var(--dpip-line);
	}
}

@media (max-width: 390px) {
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-workspace-header > .dpip-shell {
		align-items: center;
		flex-direction: row;
		gap: 8px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-workspace-header p {
		display: block;
		font-size: .82rem;
		line-height: 1.35;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-workspace-header__meta {
		align-items: center;
		min-width: 90px;
		width: auto;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-results-head p {
		display: block;
		font-size: .82rem;
		line-height: 1.4;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__preview {
		grid-template-columns: minmax(0, 1fr);
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__detail-launch {
		gap: 8px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__detail-link {
		font-size: .8125rem;
		padding-inline: 9px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-details[open] {
		padding: 0 10px 10px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-details > summary {
		align-items: center;
		flex-direction: row;
		gap: 8px;
	}
}

@media (max-width: 340px) {
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-workspace-header > .dpip-shell {
		gap: 6px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-workspace-header h1 {
		font-size: 1.4rem;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-workspace-header__meta {
		min-width: 84px;
		padding-inline: 7px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel {
		padding-inline: 9px;
	}

	/* Keep the requested filter label on one line while allowing the optional
	 * reset action to move below it on the narrowest supported viewport. */
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel__head {
		align-items: stretch;
		flex-wrap: wrap;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-panel__title,
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-reset {
		flex: 1 1 100%;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter-reset {
		width: 100%;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs {
		gap: 7px;
		grid-template-columns: minmax(0, 1fr);
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs .dpip-field,
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs .dpip-field--keyword,
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter__submit {
		grid-column: 1;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs input,
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs select {
		font-size: 16px;
		padding-inline: 9px 28px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__status {
		align-items: flex-start;
		flex-direction: column;
		justify-content: flex-start;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__status small {
		white-space: normal;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__detail-launch > span {
		font-size: .8125rem;
	}
}

/* Scoped front-end moderation: compact actions without exposing private profile fields. */
.dpip .dpip-btn--danger {
	background: #b42318;
	border-color: #b42318;
	color: #fff !important;
}

.dpip .dpip-btn--danger:hover {
	background: #8f1c13;
	border-color: #8f1c13;
}

.dpip .dpip-profile-moderation {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-width: 240px;
}

.dpip .dpip-profile-moderation > form,
.dpip .dpip-profile-moderation__reject,
.dpip .dpip-profile-moderation__reject form {
	margin: 0;
	min-width: 0;
}

.dpip .dpip-profile-moderation .dpip-btn {
	font-size: .84rem;
	min-height: 40px;
	padding: 8px 10px;
	white-space: normal;
	width: 100%;
}

.dpip .dpip-profile-moderation__reject > summary {
	list-style: none;
}

.dpip .dpip-profile-moderation__reject > summary::-webkit-details-marker {
	display: none;
}

.dpip .dpip-profile-moderation__reject[open] {
	grid-column: 1 / -1;
}

.dpip .dpip-profile-moderation__reject[open] > summary {
	margin-bottom: 7px;
}

.dpip .dpip-profile-moderation__reject form {
	background: #fff7f6;
	border: 1px solid #f0b7b2;
	border-radius: 10px;
	display: grid;
	gap: 6px;
	padding: 9px;
}

.dpip .dpip-profile-moderation__reject label {
	color: #7a271a;
	font-size: .82rem;
	font-weight: 800;
}

.dpip .dpip-profile-moderation__reject textarea {
	background: #fff;
	border: 1px solid #d9a6a1;
	border-radius: 8px;
	font: inherit;
	line-height: 1.4;
	min-height: 64px;
	padding: 7px 9px;
	resize: vertical;
	width: 100%;
}

@media (max-width: 1024px) {
	.dpip .dpip-profile-moderation {
		flex: 1 1 280px;
		max-width: 420px;
	}
}

@media (max-width: 560px) {
	.dpip .dpip-profile-moderation {
		grid-template-columns: minmax(0, 1fr);
		max-width: none;
		min-width: 0;
		width: 100%;
	}

	.dpip .dpip-profile-moderation__reject[open] {
		grid-column: auto;
	}
}

/* --------------------------------------------------------------------------
 * 2.8.3 narrow-workspace density.
 * Convert wide account tables into labelled cards and keep every managed
 * workspace readable without relying on a horizontal scrollbar.
 * -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	body.dpip-managed-page .dpip .dpip-workspace-header {
		padding-block: 11px;
	}

	body.dpip-managed-page .dpip .dpip-workspace-header > .dpip-shell {
		align-items: start;
		display: grid;
		gap: 8px;
		grid-template-columns: minmax(0, 1fr) minmax(78px, 92px);
	}

	body.dpip-managed-page .dpip .dpip-workspace-header h1 {
		font-size: clamp(1.32rem, 6vw, 1.55rem);
		line-height: 1.16;
		margin-block: 4px;
	}

	body.dpip-managed-page .dpip .dpip-workspace-header p {
		font-size: .8125rem;
		line-height: 1.42;
		margin: 0;
	}

	body.dpip-managed-page .dpip .dpip-workspace-header .dpip-eyebrow {
		font-size: 13px;
		letter-spacing: .075em;
		line-height: 1.35;
	}

	body.dpip-managed-page .dpip .dpip-workspace-header__meta,
	body.dpip-managed-page .dpip .dpip-persona-badge {
		align-items: center;
		align-self: start;
		justify-content: center;
		min-height: 52px;
		min-width: 0;
		padding: 7px;
		text-align: center;
		width: 100%;
	}

	body.dpip-managed-page .dpip .dpip-workspace-header__meta strong {
		font-size: 1.25rem;
	}

	.dpip .dpip-owned-profiles {
		padding: 12px;
	}

	.dpip .dpip-owned-profiles > .dpip-panel-head {
		gap: 8px;
		margin-bottom: 10px;
	}

	.dpip .dpip-owned-profiles > .dpip-panel-head h2 {
		font-size: 1.2rem;
	}

	.dpip .dpip-owned-profiles > .dpip-panel-head p {
		font-size: .84rem;
		line-height: 1.45;
	}

	.dpip .dpip-profile-list {
		gap: 8px;
	}

	.dpip .dpip-profile-list__item {
		gap: 9px;
		grid-template-columns: 52px minmax(0, 1fr);
		padding: 10px;
	}

	.dpip .dpip-profile-avatar--list {
		border-radius: 12px;
		height: 52px;
		width: 52px;
	}

	.dpip .dpip-profile-list__body h3 {
		font-size: 1rem;
	}

	.dpip .dpip-profile-list__facts {
		gap: 5px;
		margin-top: 5px;
	}

	.dpip .dpip-profile-list__facts > span {
		padding: 6px 7px;
	}

	.dpip .dpip-profile-list__actions {
		gap: 6px;
		grid-column: 1 / -1;
	}

	.dpip .dpip-table-wrap--responsive {
		overflow: visible;
	}

	.dpip .dpip-table--customer-jobs,
	.dpip .dpip-table--painter-quotes {
		display: block;
		font-size: .84rem;
		min-width: 0;
	}

	.dpip .dpip-table--customer-jobs thead,
	.dpip .dpip-table--painter-quotes thead {
		display: none;
	}

	.dpip .dpip-table--customer-jobs tbody,
	.dpip .dpip-table--painter-quotes tbody {
		display: grid;
		gap: 9px;
	}

	.dpip .dpip-table--customer-jobs tr,
	.dpip .dpip-table--painter-quotes tr {
		background: #fff;
		border: 1px solid var(--dpip-line);
		border-radius: 11px;
		display: block;
		min-width: 0;
		padding: 5px 10px;
	}

	.dpip .dpip-table--customer-jobs td,
	.dpip .dpip-table--painter-quotes td {
		border: 0;
		display: block;
		min-height: 38px;
		min-width: 0;
		overflow-wrap: anywhere;
		padding: 9px 0 9px 100px;
		position: relative;
	}

	.dpip .dpip-table--customer-jobs td + td,
	.dpip .dpip-table--painter-quotes td + td {
		border-top: 1px solid var(--dpip-line);
	}

	.dpip .dpip-table--customer-jobs td::before,
	.dpip .dpip-table--painter-quotes td::before {
		color: var(--dpip-blue-deep);
		content: attr(data-label);
		font-size: 13px;
		font-weight: 900;
		left: 0;
		letter-spacing: .035em;
		line-height: 1.35;
		position: absolute;
		text-transform: uppercase;
		top: 10px;
		width: 88px;
	}

	.dpip .dpip-table--customer-jobs .dpip-quote-choices,
	.dpip .dpip-table--painter-quotes .dpip-quote-choices,
	.dpip .dpip-table--customer-jobs .dpip-match-suggestions {
		min-width: 0;
		width: 100%;
	}

	.dpip .dpip-table--customer-jobs .dpip-row-actions,
	.dpip .dpip-table--painter-quotes .dpip-row-actions {
		gap: 6px;
		min-width: 0;
	}

	.dpip .dpip-persona-section > .dpip-panel-head {
		align-items: flex-start;
		gap: 8px;
		margin-bottom: 8px;
	}

	.dpip .dpip-persona-section > .dpip-panel-head .dpip-btn {
		flex: 0 0 auto;
	}
}

@media (max-width: 380px) {
	body.dpip-managed-page .dpip .dpip-workspace-header > .dpip-shell {
		grid-template-columns: minmax(0, 1fr) 78px;
	}

	body.dpip-managed-page .dpip .dpip-workspace-header p {
		display: block;
		font-size: .82rem;
		line-height: 1.35;
	}

	.dpip .dpip-table--customer-jobs td,
	.dpip .dpip-table--painter-quotes td {
		padding-left: 84px;
	}

	.dpip .dpip-table--customer-jobs td::before,
	.dpip .dpip-table--painter-quotes td::before {
		width: 74px;
	}
}

/* --------------------------------------------------------------------------
 * Requested painter-workspace refinement.
 * Keep every fact and action while reducing decorative height on the public
 * directory, owned-profile list, dashboard calls to action and narrow job
 * cards. Every selector is limited to a resolved DPIP managed page.
 * -------------------------------------------------------------------------- */
body.dpip-directory-page .dpip.dpip-directory .dpip-card {
	border-color: #c8d9ea;
	box-shadow: 0 8px 22px rgba(16, 63, 125, .08);
}

body.dpip-directory-page .dpip.dpip-directory .dpip-card__media {
	gap: 6px;
	min-height: 108px;
	padding: 10px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-card__media img {
	height: 108px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-card__media .dpip-monogram {
	border-radius: 14px;
	font-size: 1.3rem;
	height: 60px;
	width: 60px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-card__body {
	padding: 13px 14px 14px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-card__verified {
	background: #e8f8ef;
	border: 1px solid #8fd1aa;
	border-radius: 999px;
	color: #075e36;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .025em;
	padding: 4px 8px;
	width: fit-content;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-card h3 {
	font-size: 1.12rem;
	line-height: 1.25;
	margin-block: 6px 3px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-card__meta {
	font-size: .84rem;
	line-height: 1.4;
	margin-bottom: 8px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-card .dpip-chips {
	gap: 5px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-card .dpip-chips > span {
	font-size: 13px;
	padding: 3px 7px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-card__facts {
	margin-block: 9px;
	padding-block: 7px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-card__actions {
	gap: 7px;
	padding-top: 9px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-card__actions .dpip-btn {
	min-height: 44px;
	padding: 8px 10px;
}

body.dpip-managed-page .dpip .dpip-status--verified {
	background: #e8f8ef;
	border-color: #62bc87;
	box-shadow: 0 0 0 2px rgba(18, 132, 73, .08);
	color: #075e36;
	font-weight: 900;
}

/* Painter workspace: separate the three text levels and make the active
 * persona unmistakable without changing any other managed-page header. */
body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-workspace-header__copy {
	display: grid;
	gap: clamp(10px, 1.1vw, 14px);
	min-width: 0;
}

body.dpip-dashboard-page #primary .dpip.dpip-dashboard .dpip-workspace-header__copy > :is(.dpip-eyebrow, h1, p) {
	margin: 0;
}

body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-workspace-header__copy > .dpip-eyebrow {
	justify-self: start;
	max-width: 100%;
	width: fit-content;
}

body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-workspace-header .dpip-persona-badge {
	background: var(--dpip-yellow);
	border: 2px solid #ffe681;
	box-shadow: 0 8px 20px rgba(0, 31, 74, .22);
	color: var(--dpip-blue-deep);
	font-weight: 900;
}

.dpip.dpip-dashboard #dpip-painter-quotes > .dpip-panel-head > .dpip-painter-work-link {
	background: var(--dpip-blue);
	border-color: var(--dpip-blue);
	box-shadow: 0 8px 18px rgba(23, 79, 152, .2);
	color: #fff !important;
	font-size: .92rem !important;
	font-weight: 900 !important;
	justify-self: end;
	line-height: 1.25 !important;
	min-height: 44px;
	min-width: 154px;
	opacity: 1 !important;
	padding-inline: 14px;
	text-indent: 0 !important;
	visibility: visible !important;
}

.dpip.dpip-dashboard #dpip-painter-quotes > .dpip-panel-head > .dpip-painter-work-link > span {
	color: inherit !important;
	display: inline !important;
	font: inherit !important;
	opacity: 1 !important;
	visibility: visible !important;
	white-space: nowrap;
}

.dpip.dpip-dashboard #dpip-painter-quotes > .dpip-panel-head > .dpip-painter-work-link:hover,
.dpip.dpip-dashboard #dpip-painter-quotes > .dpip-panel-head > .dpip-painter-work-link:focus-visible {
	background: var(--dpip-blue-dark);
	border-color: var(--dpip-blue-dark);
	color: #fff !important;
}

body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-persona-section > .dpip-panel-head > .dpip-btn {
	background: var(--dpip-blue);
	border-color: var(--dpip-blue);
	box-shadow: 0 8px 18px rgba(23, 79, 152, .2);
	color: #fff !important;
	font-weight: 900;
	min-height: 44px;
	min-width: 160px;
	padding-inline: 14px;
}

body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-persona-section > .dpip-panel-head > .dpip-btn:hover,
body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-persona-section > .dpip-panel-head > .dpip-btn:focus-visible {
	background: var(--dpip-blue-dark);
	border-color: var(--dpip-blue-dark);
	color: #fff !important;
}

@media (max-width: 767px) {
	body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-workspace-header__copy {
		gap: 8px;
	}
}

body.dpip-managed-page .dpip.dpip-profile .dpip-professional-facts {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 13px 0 0;
	padding: 0;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-professional-facts > div {
	background: #f5f9fe;
	border: 1px solid #d5e2ef;
	border-radius: 10px;
	display: grid;
	gap: 3px;
	min-width: 0;
	padding: 9px 10px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-professional-facts dt,
body.dpip-managed-page .dpip.dpip-profile .dpip-professional-facts dd {
	margin: 0;
	overflow-wrap: anywhere;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-professional-facts dt {
	color: var(--dpip-muted);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-professional-facts dd {
	color: var(--dpip-blue-deep);
	font-size: .88rem;
	font-weight: 800;
	line-height: 1.38;
}

body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty {
	margin-inline: auto;
	max-width: 640px;
	padding: 20px;
}

body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty h2 {
	font-size: clamp(1.25rem, 2.2vw, 1.55rem);
	line-height: 1.25;
}

body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty p {
	line-height: 1.5;
	margin-bottom: 12px;
}

@media (max-width: 767px) {
	body.dpip-directory-page .dpip.dpip-directory .dpip-card__media,
	body.dpip-directory-page .dpip.dpip-directory .dpip-card__media img {
		height: 88px;
		min-height: 88px;
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-card__media .dpip-monogram {
		height: 54px;
		width: 54px;
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-card__body {
		padding: 11px 12px 12px;
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-card__actions,
	body.dpip-directory-page .dpip.dpip-directory .dpip-card__actions:last-child {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-professional-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-professional-facts > div:last-child {
		grid-column: 1 / -1;
	}

	body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty {
		gap: 0;
		padding: 16px 14px;
	}

	body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty .dpip-icon {
		height: 40px;
		width: 40px;
	}

	body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty h2 {
		font-size: 1.25rem;
		margin-block: 7px 4px;
	}

	body.dpip-profile-page .entry-content > .dpip.dpip-shell.dpip-main > .dpip-empty p {
		font-size: .88rem;
		margin-bottom: 10px;
	}

	body.dpip-profile-page .dpip.dpip-profile-manager .dpip-workspace-header {
		padding-block: 9px;
	}

	body.dpip-profile-page .dpip.dpip-profile-manager .dpip-workspace-header h1 {
		font-size: 1.38rem;
	}

	body.dpip-profile-page .dpip.dpip-profile-manager .dpip-workspace-header p {
		font-size: .82rem;
		line-height: 1.35;
	}

	body.dpip-profile-page .dpip.dpip-profile-manager .dpip-owned-profiles {
		padding: 11px;
	}

	body.dpip-profile-page .dpip.dpip-profile-manager .dpip-profile-list__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.dpip-profile-page .dpip.dpip-profile-manager .dpip-profile-list__facts > span:nth-child(3) {
		grid-column: 1 / -1;
	}

	body.dpip-profile-page .dpip.dpip-profile-manager .dpip-profile-list__actions .dpip-btn {
		min-height: 44px;
	}

	body.dpip-dashboard-page .dpip.dpip-dashboard #dpip-painter-quotes > .dpip-panel-head,
	body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-persona-section > .dpip-panel-head {
		align-items: stretch;
		display: grid;
		gap: 9px;
		grid-template-columns: minmax(0, 1fr);
	}

	body.dpip-dashboard-page .dpip.dpip-dashboard #dpip-painter-quotes > .dpip-panel-head > .dpip-btn,
	body.dpip-dashboard-page .dpip.dpip-dashboard .dpip-persona-section > .dpip-panel-head > .dpip-btn {
		justify-self: stretch;
		width: 100%;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-results-head {
		margin-bottom: 10px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card--compact {
		padding: 10px 11px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__head h3 {
		font-size: 1.05rem;
		margin-block: 6px 3px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__facts > span {
		padding: 7px 8px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__preview {
		margin-block: 6px;
	}

	body.dpip-job-board-page .dpip.dpip-job-board .dpip-job-card__detail-launch {
		margin-top: 7px;
		padding-top: 7px;
	}
}

@media (max-width: 380px) {
	body.dpip-directory-page .dpip.dpip-directory .dpip-card__actions,
	body.dpip-directory-page .dpip.dpip-directory .dpip-card__actions:last-child {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.dpip-profile-page .dpip.dpip-profile-manager .dpip-profile-list__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.dpip-profile-page .dpip.dpip-profile-manager .dpip-profile-list__facts > span:nth-child(3) {
		grid-column: 1 / -1;
	}
}

/* Compact, even controls on managed workspaces; touch targets expand again below. */
@media (min-width: 768px) {
	body.dpip-directory-page .dpip.dpip-directory .dpip-filter input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
	body.dpip-directory-page .dpip.dpip-directory .dpip-filter select:not([multiple]):not([size]),
	body.dpip-directory-page .dpip.dpip-directory .dpip-filter > .dpip-btn,
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter--jobs select:not([multiple]):not([size]),
	body.dpip-job-board-page .dpip.dpip-job-board .dpip-filter__submit,
	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
	body.dpip-post-job-page .dpip.dpip-job-form-page .dpip-field select:not([multiple]):not([size]),
	body.dpip-profile-page .dpip.dpip-profile-manager .dpip-structured-profile .dpip-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
	body.dpip-profile-page .dpip.dpip-profile-manager .dpip-structured-profile .dpip-field select:not([multiple]):not([size]) {
		height: 40px;
		min-height: 40px;
		padding-block: 6px;
	}
}

@media (hover: none) and (pointer: coarse) {
	body.dpip-managed-page .dpip .dpip-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
	body.dpip-managed-page .dpip .dpip-field select:not([multiple]):not([size]),
	body.dpip-managed-page .dpip .dpip-filter__submit {
		height: 44px;
		min-height: 44px;
	}
}

@media (max-width: 767px) {
	body.dpip-managed-page .dpip .dpip-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
	body.dpip-managed-page .dpip .dpip-field select:not([multiple]):not([size]) {
		font-size: 16px;
		height: 44px;
		min-height: 44px;
	}
}

@media (forced-colors: active) {
	.dpip-field select,
	.dpip-review-form select {
		-webkit-appearance: auto;
		appearance: auto;
		background-image: none;
	}
}

/* --------------------------------------------------------------------------
 * 2.8.9 unified application shell, profile review tables and compact public
 * profile. These selectors are restricted to resolved DPIP application pages.
 * -------------------------------------------------------------------------- */
body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-main.dpip-shell,
body.dpip-directory-page .entry-content > .dpip-directory > .dpip-main.dpip-shell {
	margin-inline: auto;
	max-width: var(--sdd-shell, 1200px);
	padding-inline: 0;
	width: min(calc(100% - 30px), var(--sdd-shell, 1200px));
}

body.dpip-directory-page .dpip.dpip-directory .dpip-directory-nav {
	padding-block: clamp(14px, 2vw, 20px);
}

body.dpip-directory-page .dpip.dpip-directory .dpip-directory-nav__head {
	margin-bottom: 11px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-directory-nav__head h2 {
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	line-height: 1.25;
	margin-block: 3px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-directory-nav__head p {
	font-size: .86rem;
	line-height: 1.45;
	margin: 0;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-directory-nav__grid {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.dpip-directory-page .dpip.dpip-directory .dpip-directory-nav__item {
	min-height: 66px;
	padding: 8px 9px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-filter {
	gap: 9px;
	grid-template-columns: minmax(230px, 1.45fr) repeat(3, minmax(132px, .8fr)) auto;
	margin-bottom: 16px;
	padding: 13px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-results-head {
	align-items: center;
	margin-bottom: 10px;
}

body.dpip-directory-page .dpip.dpip-directory .dpip-results-head h2 {
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	line-height: 1.2;
	margin-top: 2px;
}

/* Operations profile overview: verified on the left, pending on the right. */
body.dpip-profile-page .dpip.dpip-profile-manager .dpip-profile-review {
	padding: clamp(14px, 2vw, 20px);
}

.dpip .dpip-profile-review-board {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-width: 0;
}

.dpip .dpip-profile-review-column {
	background: #f8fbff;
	border: 1px solid #cfdeed;
	border-radius: 13px;
	min-width: 0;
	overflow: hidden;
}

.dpip .dpip-profile-review-column--verified {
	border-top: 4px solid #168451;
}

.dpip .dpip-profile-review-column--pending {
	border-top: 4px solid var(--dpip-yellow);
}

.dpip .dpip-profile-review-column > header {
	align-items: center;
	background: #fff;
	border-bottom: 1px solid #d8e3ef;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	padding: 10px 12px;
}

.dpip .dpip-profile-review-column > header h3 {
	font-size: 1rem;
	line-height: 1.25;
	margin: 2px 0 0;
}

.dpip .dpip-profile-review-column > header > strong {
	align-items: center;
	background: var(--dpip-blue);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: .86rem;
	height: 30px;
	justify-content: center;
	min-width: 30px;
	padding-inline: 8px;
}

.dpip .dpip-profile-review-table-wrap {
	min-width: 0;
	overflow: visible;
	padding: 7px;
}

.dpip .dpip-profile-review-table {
	border-collapse: separate;
	border-spacing: 0;
	font-size: .8125rem;
	line-height: 1.35;
	table-layout: fixed;
	width: 100%;
}

.dpip .dpip-profile-review-table th,
.dpip .dpip-profile-review-table td {
	background: #fff;
	border-bottom: 1px solid #dbe5ef;
	padding: 8px 6px;
	text-align: left;
	vertical-align: middle;
}

.dpip .dpip-profile-review-table th {
	color: #536b83;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.dpip .dpip-profile-review-table th:first-child { width: 31%; }
.dpip .dpip-profile-review-table th:nth-child(2) { width: 22%; }
.dpip .dpip-profile-review-table th:nth-child(3) { width: 17%; }
.dpip .dpip-profile-review-table th:last-child { width: 30%; }

.dpip .dpip-profile-review-table tbody tr:last-child td {
	border-bottom: 0;
}

.dpip .dpip-profile-review-table__identity {
	align-items: center;
	display: grid;
	gap: 7px;
	grid-template-columns: 38px minmax(0, 1fr);
	min-width: 0;
}

.dpip .dpip-profile-avatar--review {
	border-radius: 9px;
	font-size: .8125rem;
	height: 38px;
	width: 38px;
}

.dpip .dpip-profile-review-table__painter-icon {
	align-items: center;
	background: #edf5ff;
	border: 1px solid #a9c5e3;
	border-radius: 9px;
	color: var(--dpip-blue);
	display: inline-flex;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.dpip .dpip-profile-review-table__painter-icon .dpip-svg {
	height: 23px;
	width: 23px;
}

.dpip .dpip-profile-review-table__identity > span {
	display: grid;
	gap: 1px;
	min-width: 0;
}

.dpip .dpip-profile-review-table__identity small,
.dpip .dpip-profile-review-table__completion {
	color: var(--dpip-muted);
	font-size: 13px;
}

.dpip .dpip-profile-review-table__identity strong,
.dpip .dpip-profile-review-table time {
	overflow-wrap: anywhere;
}

.dpip .dpip-profile-review-table__profile-link {
	color: var(--dpip-blue-deep);
	font-weight: 800;
	text-decoration: underline;
	text-decoration-color: #9ab8d7;
	text-underline-offset: 3px;
}

.dpip .dpip-profile-review-table__profile-link:hover,
.dpip .dpip-profile-review-table__profile-link:focus-visible {
	color: var(--dpip-blue);
	text-decoration-color: currentColor;
}

.dpip .dpip-profile-review-table .dpip-status {
	display: inline-flex;
	font-size: 13px;
	line-height: 1.25;
	padding: 4px 6px;
}

.dpip .dpip-profile-review-table__completion {
	display: block;
	margin-top: 3px;
}

.dpip .dpip-profile-review-table__actions {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.dpip .dpip-profile-review-table__actions > .dpip-btn,
.dpip .dpip-profile-review-table .dpip-profile-moderation .dpip-btn {
	font-size: .8125rem;
	min-height: 40px;
	padding: 6px 7px;
	white-space: normal;
	width: 100%;
}

.dpip .dpip-profile-review-table .dpip-profile-moderation {
	gap: 5px;
	min-width: 0;
}

.dpip .dpip-profile-review-column .dpip-empty--small {
	background: transparent;
	border: 0;
	box-shadow: none;
	min-height: 126px;
	padding: 20px 12px;
}

/* Public painter identity is a compact four-area grid at every width. */
body.dpip-managed-page .dpip.dpip-profile .dpip-breadcrumb {
	color: #45627d;
	font-size: 1rem;
	font-weight: 700;
	gap: 8px;
	line-height: 1.35;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-breadcrumb a {
	font-weight: 900;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head {
	align-items: center;
	column-gap: 18px;
	grid-template-areas: "avatar verified" "avatar copy" "avatar facts";
	grid-template-columns: 112px minmax(0, 1fr);
	grid-template-rows: auto auto auto;
	padding: 15px 18px;
	row-gap: 4px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__avatar {
	grid-area: avatar;
	height: 112px;
	width: 112px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head > .dpip-verified-label {
	background: #f1fff7;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(0, 27, 64, .16);
	color: #0b6b43;
	grid-area: verified;
	justify-self: start;
	padding: 5px 10px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy {
	grid-area: copy;
	min-width: 0;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy h1 {
	margin-block: 5px 3px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy > p {
	margin-bottom: 7px;
}

body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts {
	grid-area: facts;
	margin-top: 3px;
}

@media (max-width: 1000px) {
	body.dpip-directory-page .dpip.dpip-directory .dpip-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-filter > .dpip-btn {
		grid-column: 1 / -1;
	}

	.dpip .dpip-profile-review-board {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header,
	body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-main.dpip-shell,
	body.dpip-directory-page .entry-content > .dpip-directory > .dpip-main.dpip-shell {
		width: calc(100% - 20px);
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-directory-nav {
		padding-block: 11px;
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-directory-nav__head {
		margin-bottom: 8px;
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-directory-nav__head p {
		font-size: .8125rem;
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-directory-nav__grid {
		gap: 6px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-directory-nav__item:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-directory-nav__item {
		min-height: 58px;
		padding: 7px;
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-filter {
		gap: 8px;
		grid-template-columns: minmax(0, 1fr);
		margin-bottom: 12px;
		padding: 11px;
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-filter > .dpip-btn {
		grid-column: auto;
	}

	body.dpip-directory-page .dpip.dpip-directory .dpip-results-head {
		align-items: flex-start;
		gap: 6px;
		margin-bottom: 8px;
	}

	.dpip .dpip-profile-review-table thead {
		display: none;
	}

	.dpip .dpip-profile-review-table,
	.dpip .dpip-profile-review-table tbody {
		display: block;
	}

	.dpip .dpip-profile-review-table tbody {
		display: grid;
		gap: 7px;
	}

	.dpip .dpip-profile-review-table tr {
		background: #fff;
		border: 1px solid #d6e2ee;
		border-radius: 10px;
		display: block;
		padding: 5px 8px;
	}

	.dpip .dpip-profile-review-table td {
		border: 0;
		display: grid;
		gap: 8px;
		grid-template-columns: 76px minmax(0, 1fr);
		min-height: 38px;
		padding: 7px 0;
	}

	.dpip .dpip-profile-review-table td + td {
		border-top: 1px solid #e1e9f1;
	}

	.dpip .dpip-profile-review-table td::before {
		color: #536b83;
		content: attr(data-label);
		font-size: 13px;
		font-weight: 900;
		letter-spacing: .03em;
		padding-top: 3px;
		text-transform: uppercase;
	}

	.dpip .dpip-profile-review-table__identity {
		grid-template-columns: 34px minmax(0, 1fr);
	}

	.dpip .dpip-profile-avatar--review {
		height: 34px;
		width: 34px;
	}

	.dpip .dpip-profile-review-table__painter-icon {
		height: 34px;
		width: 34px;
	}

	.dpip .dpip-profile-review-table__painter-icon .dpip-svg {
		height: 21px;
		width: 21px;
	}

	.dpip .dpip-profile-review-table .dpip-profile-moderation {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dpip .dpip-profile-review-table__actions > .dpip-btn,
	.dpip .dpip-profile-review-table .dpip-profile-moderation .dpip-btn {
		min-height: 44px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-breadcrumb {
		font-size: 1.02rem;
		margin-bottom: 8px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head {
		gap: 8px 10px;
		grid-template-areas: "verified verified" "avatar copy" "facts facts";
		grid-template-columns: 76px minmax(0, 1fr);
		padding: 11px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__avatar {
		border-radius: 13px;
		height: 76px;
		width: 76px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head > .dpip-verified-label {
		font-size: .8125rem;
		justify-content: center;
		justify-self: center;
		max-width: 100%;
		padding: 5px 10px;
		text-align: center;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy h1 {
		font-size: clamp(1.45rem, 7vw, 1.75rem);
		line-height: 1.1;
		margin-block: 0 3px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__copy > p {
		font-size: .86rem;
		line-height: 1.35;
		margin: 3px 0 0;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts {
		gap: 4px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 0;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts > span,
	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts > span + span {
		background: rgba(0, 27, 64, .22);
		border: 1px solid rgba(255, 255, 255, .16);
		border-radius: 8px;
		font-size: .8125rem;
		line-height: 1.28;
		padding: 6px 7px;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts > span:last-child {
		grid-column: 1 / -1;
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-facts strong {
		font-size: .88rem;
	}
}

@media (max-width: 380px) {
	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head {
		grid-template-columns: 66px minmax(0, 1fr);
	}

	body.dpip-managed-page .dpip.dpip-profile .dpip-profile-head__avatar {
		height: 66px;
		width: 66px;
	}

	.dpip .dpip-profile-review-table td {
		grid-template-columns: 68px minmax(0, 1fr);
	}
}

@media (max-width: 390px) {
	body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-workspace-header,
	body.dpip-managed-page .entry-content > .dpip:not(.dpip-service-nav) > .dpip-main.dpip-shell,
	body.dpip-directory-page .entry-content > .dpip-directory > .dpip-main.dpip-shell {
		width: calc(100% - 16px);
	}
}

/* 3.0.8 — privacy-safe anonymous indexes for jobs, dossiers and profiles. */
.dpip-public-preview,
.dpip-public-preview * {
	box-sizing: border-box;
}

.dpip-public-preview {
	color: #17324f;
	font-family: "Inter", "Roboto", Arial, sans-serif;
	margin: 18px auto 32px;
	max-width: 1200px;
	min-width: 0;
	width: calc(100% - 24px);
}

.dpip-public-preview__hero {
	background: linear-gradient(115deg, #0c4787, #1764ad 72%, #2874b7);
	border-radius: 14px;
	color: #fff;
	display: grid;
	gap: 5px;
	margin: 0 0 12px;
	padding: 20px 22px;
}

.dpip-public-preview__hero > span,
.dpip-public-preview__heading > div > span {
	color: #ffd21c;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.4;
}

.dpip-public-preview__hero h1 {
	color: #fff;
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.2;
	margin: 0;
}

.dpip-public-preview__hero p {
	color: rgba(255, 255, 255, .9);
	font-size: 15px;
	line-height: 1.55;
	margin: 0;
	max-width: 850px;
}

.dpip-public-preview__notice {
	align-items: flex-start;
	background: #f0f7ff;
	border: 1px solid #c9def3;
	border-left: 4px solid #1764ad;
	border-radius: 10px;
	display: flex;
	font-size: 14px;
	gap: 8px 14px;
	line-height: 1.5;
	margin-bottom: 16px;
	padding: 11px 14px;
}

.dpip-public-preview__notice strong {
	color: #0c4787;
	flex: 0 0 auto;
}

.dpip-public-preview__notice span {
	color: #49627b;
}

.dpip-public-preview__heading {
	align-items: end;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin: 0 0 12px;
}

.dpip-public-preview__heading > div > span {
	color: #1764ad;
}

.dpip-public-preview__heading h2 {
	color: #17324f;
	font-size: 20px;
	line-height: 1.3;
	margin: 2px 0 0;
}

.dpip-public-preview__heading > a,
.dpip-public-preview__button {
	align-items: center;
	background: #0f579e;
	border: 1px solid #0a437d;
	border-radius: 9px;
	color: #fff !important;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	line-height: 1.25;
	min-height: 42px;
	padding: 9px 15px;
	text-decoration: none !important;
}

.dpip-public-preview__heading > a:hover,
.dpip-public-preview__button:hover,
.dpip-public-preview__heading > a:focus-visible,
.dpip-public-preview__button:focus-visible {
	background: #083e75;
	color: #fff !important;
}

.dpip-public-preview__heading > a:focus-visible,
.dpip-public-preview__button:focus-visible {
	outline: 3px solid #ffd21c;
	outline-offset: 2px;
}

.dpip-public-preview__grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dpip-public-preview__card {
	background: #fff;
	border: 1px solid #ccdeef;
	border-radius: 12px;
	box-shadow: 0 7px 20px rgba(12, 71, 135, .08);
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	overflow-wrap: anywhere;
	padding: 15px;
}

.dpip-public-preview__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.dpip-public-preview__chips span {
	background: #eaf4ff;
	border: 1px solid #c8def3;
	border-radius: 999px;
	color: #0d4f91;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	padding: 5px 9px;
}

.dpip-public-preview__chips span:nth-child(2) {
	background: #edf9f2;
	border-color: #c2e6d1;
	color: #147345;
}

.dpip-public-preview__card h3 {
	color: #15395f;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0;
}

.dpip-public-preview__card > p {
	color: #4f657c;
	font-size: 14px;
	line-height: 1.55;
	margin: 0;
}

.dpip-public-preview__card dl {
	display: grid;
	gap: 0;
	margin: 0;
}

.dpip-public-preview__card dl > div {
	border-top: 1px solid #e2ebf4;
	display: grid;
	gap: 4px;
	grid-template-columns: 92px minmax(0, 1fr);
	padding: 8px 0;
}

.dpip-public-preview__card dt,
.dpip-public-preview__card dd {
	font-size: 13px;
	line-height: 1.45;
	margin: 0;
}

.dpip-public-preview__card dt {
	color: #62768a;
	font-weight: 600;
}

.dpip-public-preview__card dd {
	color: #173b60;
	font-weight: 700;
}

.dpip-public-preview__button {
	margin-top: auto;
	width: 100%;
}

.dpip-public-preview__empty {
	background: #f6f9fc;
	border: 1px dashed #b8cde2;
	border-radius: 12px;
	padding: 28px 18px;
	text-align: center;
}

.dpip-public-preview__empty h2 {
	color: #173b60;
	font-size: 19px;
	margin: 0 0 5px;
}

.dpip-public-preview__empty p {
	color: #5b7085;
	font-size: 14px;
	margin: 0;
}

.dpip-public-preview__pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	justify-content: center;
	margin-top: 18px;
}

.dpip-public-preview__pagination .page-numbers {
	align-items: center;
	background: #fff;
	border: 1px solid #bdd2e7;
	border-radius: 7px;
	color: #0d4f91;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	min-height: 40px;
	min-width: 40px;
	padding: 7px 10px;
	text-decoration: none;
}

.dpip-public-preview__pagination .page-numbers.current {
	background: #0d4f91;
	color: #fff;
}

.dpip-public-preview-control {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.dpip-public-preview-control__state {
	color: #536b82;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
}

@media (max-width: 900px) {
	.dpip-public-preview__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.dpip-public-preview {
		margin-bottom: 22px;
		margin-top: 12px;
		width: calc(100% - 12px);
	}

	.dpip-public-preview__hero {
		border-radius: 11px;
		padding: 17px 15px;
	}

	.dpip-public-preview__hero h1 {
		font-size: 24px;
	}

	.dpip-public-preview__notice,
	.dpip-public-preview__heading {
		align-items: stretch;
		flex-direction: column;
	}

	.dpip-public-preview__heading > a {
		width: 100%;
	}

	.dpip-public-preview__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.dpip-public-preview__card {
		padding: 13px;
	}
}
