.portaldesk-dashboard {
	--portaldesk-primary: #083b8c;
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 0;
	min-height: 620px;
	background: #f4f7fb;
	border: 1px solid #d9e1ea;
	border-radius: 18px;
	overflow: hidden;
	font-family: Arial, sans-serif;
}

.portaldesk-sidebar {
	background: var(--portaldesk-primary);
	color: #fff;
	padding: 28px 22px;
}

.portaldesk-brand {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-bottom: 28px;
}

.portaldesk-nav {
	display: grid;
	gap: 8px;
}

.portaldesk-nav a {
	color: #fff;
	text-decoration: none;
	padding: 10px 12px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.08);
}

.portaldesk-nav a:hover,
.portaldesk-nav a:focus {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
}

.portaldesk-main {
	padding: 28px;
}

.portaldesk-panel,
.portaldesk-card {
	background: #fff;
	border: 1px solid #e0e6ed;
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 10px 25px rgba(24, 48, 78, 0.07);
}

.portaldesk-eyebrow {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--portaldesk-primary);
}

.portaldesk-panel h2,
.portaldesk-card h3 {
	margin-top: 0;
}

.portaldesk-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 18px;
}

.portaldesk-notice,
.portaldesk-login-form {
	background: #fff;
	border: 1px solid #d9e1ea;
	border-radius: 12px;
	padding: 18px;
}

@media (max-width: 900px) {
	.portaldesk-dashboard {
		grid-template-columns: 1fr;
	}

	.portaldesk-card-grid {
		grid-template-columns: 1fr;
	}
}

.portaldesk-card-wide-public {
	grid-column: span 2;
}

.portaldesk-form-list {
	margin: 12px 0 0;
	padding-left: 20px;
}

.portaldesk-form-list li {
	margin-bottom: 12px;
}

.portaldesk-form-wrap {
	background: #fff;
	border: 1px solid #d9e1ea;
	border-radius: 16px;
	padding: 24px;
	font-family: Arial, sans-serif;
}

.portaldesk-form-header {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	border-bottom: 1px solid #e0e6ed;
	padding-bottom: 18px;
	margin-bottom: 18px;
}

.portaldesk-form-logo {
	max-width: 150px;
	max-height: 90px;
	object-fit: contain;
}

.portaldesk-form-header h2 {
	margin: 0 0 8px;
}

.portaldesk-form-contact {
	font-size: 14px;
	line-height: 1.5;
}

.portaldesk-form-intro {
	margin-bottom: 18px;
}

.portaldesk-form-field {
	margin-bottom: 18px;
}

.portaldesk-form-field > label {
	display: block;
	font-weight: 700;
	margin-bottom: 6px;
}

.portaldesk-form-field input[type="text"],
.portaldesk-form-field textarea,
.portaldesk-form-field select {
	width: 100%;
	max-width: 720px;
	padding: 10px;
	border: 1px solid #c9d3df;
	border-radius: 8px;
}

.portaldesk-inline-choice,
.portaldesk-choice-list label {
	display: block;
	font-weight: 400;
	margin-bottom: 6px;
}

.portaldesk-signature-placeholder {
	max-width: 720px;
	min-height: 110px;
	border: 1px dashed #9aa8b7;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: #f7f9fc;
	text-align: center;
}

.portaldesk-form-step-note {
	font-size: 14px;
	background: #f7f9fc;
	border: 1px solid #e0e6ed;
	border-radius: 10px;
	padding: 12px;
}

.portaldesk-button {
	border: 0;
	border-radius: 10px;
	padding: 10px 18px;
	background: var(--portaldesk-primary, #083b8c);
	color: #fff;
	font-weight: 700;
	cursor: not-allowed;
	opacity: 0.7;
}

@media (max-width: 900px) {
	.portaldesk-card-wide-public {
		grid-column: span 1;
	}

	.portaldesk-form-header {
		display: block;
	}

	.portaldesk-form-logo {
		margin-bottom: 12px;
	}
}

.portaldesk-form-field input[type="email"],
.portaldesk-form-field input[type="tel"],
.portaldesk-form-field input[type="date"] {
	width: 100%;
	max-width: 720px;
	padding: 10px;
	border: 1px solid #c9d3df;
	border-radius: 8px;
}

.portaldesk-field-help {
	margin: -2px 0 8px;
	font-size: 14px;
	color: #52606d;
}

.portaldesk-form-section-heading {
	border-top: 1px solid #e0e6ed;
	padding-top: 18px;
	margin: 26px 0 14px;
}

.portaldesk-form-section-heading h3 {
	margin: 0 0 6px;
}

.portaldesk-form-page-break {
	position: relative;
	margin: 26px 0;
	border-top: 2px dashed #c9d3df;
	text-align: center;
}

.portaldesk-form-page-break span {
	position: relative;
	top: -12px;
	background: #fff;
	padding: 0 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #52606d;
}


/* Step 2.3 modern form display */
.portaldesk-open-form-page {
	background: #eef3f8;
}

.portaldesk-open-form-shell {
	max-width: 1120px;
	margin: 36px auto;
	padding: 0 18px;
}

.portaldesk-form-wrap {
	border: 1px solid rgba(23, 50, 77, 0.12);
	border-radius: 24px;
	padding: 30px;
	box-shadow: 0 24px 60px rgba(23, 50, 77, 0.10);
	background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.portaldesk-form-header {
	border: 1px solid #e6edf5;
	border-radius: 18px;
	padding: 18px;
	background: #f8fbff;
}

.portaldesk-form-header h2 {
	display: none;
}

.portaldesk-form-contact {
	color: #2f3d4c;
}

.portaldesk-form-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 18px;
	align-items: start;
}

.portaldesk-form-width-full {
	grid-column: span 12;
}

.portaldesk-form-width-half {
	grid-column: span 6;
}

.portaldesk-form-width-third {
	grid-column: span 4;
}

.portaldesk-form-width-quarter {
	grid-column: span 3;
}

.portaldesk-form-field {
	margin-bottom: 0;
	background: #ffffff;
	border: 1px solid #e3ebf4;
	border-radius: 16px;
	padding: 16px;
	box-shadow: 0 8px 22px rgba(23, 50, 77, 0.05);
}

.portaldesk-form-field > label {
	color: #1f3348;
	font-size: 14px;
}

.portaldesk-form-field input[type="text"],
.portaldesk-form-field input[type="email"],
.portaldesk-form-field input[type="tel"],
.portaldesk-form-field input[type="date"],
.portaldesk-form-field textarea,
.portaldesk-form-field select {
	max-width: none;
	border-radius: 12px;
	border: 1px solid #cfd9e6;
	background: #fbfdff;
	min-height: 44px;
	box-shadow: inset 0 1px 2px rgba(23, 50, 77, 0.04);
}

.portaldesk-form-field input:focus,
.portaldesk-form-field textarea:focus,
.portaldesk-form-field select:focus {
	outline: none;
	border-color: var(--portaldesk-primary, #083b8c);
	box-shadow: 0 0 0 3px rgba(23, 50, 77, 0.12);
}

.portaldesk-choice-list {
	display: grid;
	gap: 8px;
}

.portaldesk-inline-choice,
.portaldesk-choice-list label {
	border: 1px solid #e3ebf4;
	border-radius: 12px;
	padding: 10px;
	background: #fbfdff;
}

.portaldesk-signature-placeholder {
	max-width: none;
	border-radius: 14px;
	background: repeating-linear-gradient(135deg, #f8fbff, #f8fbff 10px, #f2f6fb 10px, #f2f6fb 20px);
}

.portaldesk-form-section-heading {
	border: 0;
	padding: 0;
	margin: 10px 0 0;
}

.portaldesk-form-section-heading h3 {
	margin: 0;
	font-size: 24px;
	line-height: 1.2;
	color: #083b8c;
}

.portaldesk-form-page-break {
	border-top: 2px dashed #c9d3df;
	padding-top: 12px;
	color: #52606d;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.portaldesk-form-step-note {
	margin-top: 18px;
}

.portaldesk-form-open-link {
	display: inline-block;
	margin-top: 6px;
	padding: 8px 12px;
	border-radius: 10px;
	background: var(--portaldesk-primary, #083b8c);
	color: #fff;
	text-decoration: none;
	font-weight: 700;
}

.portaldesk-form-open-link:hover,
.portaldesk-form-open-link:focus {
	color: #fff;
	filter: brightness(1.08);
}

@media (max-width: 900px) {
	.portaldesk-form-width-full,
	.portaldesk-form-width-half,
	.portaldesk-form-width-third,
	.portaldesk-form-width-quarter {
		grid-column: span 12;
	}

	.portaldesk-form-wrap {
		padding: 20px;
	}
}

/* Step 2.4 form polish, header positions, choices, uploads, and page steps */
.portaldesk-form-header {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	align-items: center;
}

.portaldesk-form-header-item {
	min-width: 0;
}

.portaldesk-header-align-left {
	grid-column: 1;
	justify-self: start;
	text-align: left;
}

.portaldesk-header-align-center {
	grid-column: 2;
	justify-self: center;
	text-align: center;
}

.portaldesk-header-align-right {
	grid-column: 3;
	justify-self: end;
	text-align: right;
}

.portaldesk-choice-row,
.portaldesk-inline-choice.portaldesk-choice-row,
.portaldesk-choice-list label.portaldesk-choice-row {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	direction: ltr;
	text-align: left;
}

.portaldesk-choice-control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.portaldesk-choice-control input[type="checkbox"],
.portaldesk-choice-control input[type="radio"] {
	margin: 0;
}

.portaldesk-choice-text {
	flex: 1 1 auto;
}

.portaldesk-form-field input[type="file"] {
	width: 100%;
	padding: 12px;
	border: 1px dashed #aebdca;
	border-radius: 12px;
	background: #fbfdff;
}

.portaldesk-file-note {
	margin: 8px 0 0;
}

.portaldesk-form-steps {
	display: block;
}

.portaldesk-step-indicator {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 10px;
	margin: 0 0 20px;
}

.portaldesk-step-indicator-item {
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid #d9e4ee;
	border-radius: 14px;
	background: #f9fbfe;
	padding: 10px;
	text-align: left;
	cursor: pointer;
}

.portaldesk-step-indicator-item span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: #e8eff6;
	font-weight: 700;
	color: #083b8c;
}

.portaldesk-step-indicator-item em {
	font-style: normal;
	font-size: 13px;
	font-weight: 700;
	color: #2f3d4c;
}

.portaldesk-step-indicator-item.is-active {
	border-color: var(--portaldesk-primary, #083b8c);
	box-shadow: 0 8px 24px rgba(23, 50, 77, 0.10);
}

.portaldesk-step-indicator-item.is-active span {
	background: var(--portaldesk-primary, #083b8c);
	color: #fff;
}

.portaldesk-step-page {
	display: none;
}

.portaldesk-step-page.is-active {
	display: grid;
}

.portaldesk-step-navigation {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid #e3ebf4;
}

.portaldesk-step-navigation button {
	border: 1px solid #cfd9e6;
	border-radius: 10px;
	background: #fff;
	padding: 9px 14px;
	font-weight: 700;
	cursor: pointer;
}

.portaldesk-step-navigation button:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.portaldesk-step-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

.portaldesk-step-link.is-active,
.portaldesk-step-next,
.portaldesk-step-prev {
	background: var(--portaldesk-primary, #083b8c);
	color: #fff;
	border-color: var(--portaldesk-primary, #083b8c);
}

@media (max-width: 900px) {
	.portaldesk-form-header {
		grid-template-columns: 1fr;
	}

	.portaldesk-header-align-left,
	.portaldesk-header-align-center,
	.portaldesk-header-align-right {
		grid-column: 1;
		justify-self: stretch;
		text-align: left;
	}

	.portaldesk-step-navigation {
		align-items: stretch;
		flex-direction: column;
	}
}


/* Step 2.5 header box refinement and page navigation cleanup */
.portaldesk-form-header {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	align-items: stretch;
	border: 0;
	border-radius: 18px;
	padding: 0;
	background: transparent;
	overflow: hidden;
}

.portaldesk-form-header-item {
	min-width: 0;
	width: 100%;
	min-height: 116px;
	padding: 18px;
	border: 1px solid #e6edf5;
	background: #f8fbff;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

.portaldesk-form-header-item + .portaldesk-form-header-item {
	margin-left: -1px;
}

.portaldesk-form-header-item:only-child {
	grid-column: 1 / -1;
}

.portaldesk-form-header .portaldesk-header-align-left {
	grid-column: auto;
	justify-self: stretch;
	justify-content: flex-start;
	text-align: left;
}

.portaldesk-form-header .portaldesk-header-align-center {
	grid-column: auto;
	justify-self: stretch;
	justify-content: center;
	text-align: center;
}

.portaldesk-form-header .portaldesk-header-align-right {
	grid-column: auto;
	justify-self: stretch;
	justify-content: flex-end;
	text-align: right;
}

.portaldesk-form-header .portaldesk-form-logo {
	display: block;
}

.portaldesk-form-contact {
	white-space: pre-line;
}

.portaldesk-step-indicator {
	display: none;
}

.portaldesk-step-navigation .portaldesk-step-prev,
.portaldesk-step-navigation .portaldesk-step-next {
	background: #ffffff;
	color: #083b8c;
	border-color: #9fb1c4;
}

.portaldesk-step-navigation .portaldesk-step-prev:hover:not(:disabled),
.portaldesk-step-navigation .portaldesk-step-next:hover:not(:disabled),
.portaldesk-step-navigation .portaldesk-step-prev:focus:not(:disabled),
.portaldesk-step-navigation .portaldesk-step-next:focus:not(:disabled) {
	background: #f2f6fb;
	color: #0f2740;
}

.portaldesk-step-link.is-active {
	background: var(--portaldesk-primary, #083b8c);
	color: #ffffff;
	border-color: var(--portaldesk-primary, #083b8c);
}

@media (max-width: 900px) {
	.portaldesk-form-header {
		grid-template-columns: 1fr;
	}

	.portaldesk-form-header-item + .portaldesk-form-header-item {
		margin-left: 0;
		margin-top: -1px;
	}
}

/* Step 2.6 contact information spacing and text controls */
.portaldesk-form-header-item.portaldesk-form-contact {
	line-height: 1.35;
	white-space: normal;
}

.portaldesk-contact-padding-normal {
	padding: 18px;
}

.portaldesk-contact-padding-compact {
	padding: 8px 12px;
}

.portaldesk-contact-padding-none {
	padding: 0;
}

.portaldesk-form-header .portaldesk-contact-vertical-top {
	align-items: flex-start;
}

.portaldesk-form-header .portaldesk-contact-vertical-middle {
	align-items: center;
}

.portaldesk-form-header .portaldesk-contact-vertical-bottom {
	align-items: flex-end;
}

/* Step 2.7 additional frontend form blocks */
.portaldesk-form-field input[type="time"],
.portaldesk-form-field input[type="url"],
.portaldesk-address-grid input[type="text"] {
	width: 100%;
	max-width: none;
	padding: 10px;
	border-radius: 12px;
	border: 1px solid #cfd9e6;
	background: #fbfdff;
	min-height: 44px;
	box-shadow: inset 0 1px 2px rgba(23, 50, 77, 0.04);
	box-sizing: border-box;
}

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

.portaldesk-address-grid input:first-child,
.portaldesk-address-grid input:nth-child(2) {
	grid-column: span 2;
}

.portaldesk-form-field-html,
.portaldesk-form-field-image-display {
	background: #ffffff;
}

.portaldesk-html-field-title,
.portaldesk-image-field-title {
	font-weight: 700;
	color: #1f3348;
	margin-bottom: 8px;
}

.portaldesk-html-field-content p:first-child {
	margin-top: 0;
}

.portaldesk-html-field-content p:last-child {
	margin-bottom: 0;
}

.portaldesk-field-display-image {
	display: block;
	max-width: 100%;
	height: auto;
	max-height: 260px;
	object-fit: contain;
	border-radius: 12px;
}

.portaldesk-form-section-align-left {
	text-align: left;
}

.portaldesk-form-section-align-center {
	text-align: center;
}

.portaldesk-form-section-align-right {
	text-align: right;
}

.portaldesk-consent-choice .portaldesk-choice-text {
	line-height: 1.45;
}

@media (max-width: 900px) {
	.portaldesk-address-grid {
		grid-template-columns: 1fr;
	}

	.portaldesk-address-grid input:first-child,
	.portaldesk-address-grid input:nth-child(2) {
		grid-column: span 1;
	}
}

/* Step 2.8 added form field blocks */
.portaldesk-form-field input[type="number"],
.portaldesk-form-field input[inputmode="decimal"],
.portaldesk-form-field input[readonly],
.portaldesk-time-range input[type="time"],
.portaldesk-time-range input[type="text"] {
	width: 100%;
	max-width: none;
	padding: 10px;
	border-radius: 12px;
	border: 1px solid #cfd9e6;
	background: #fbfdff;
	min-height: 44px;
	box-shadow: inset 0 1px 2px rgba(23, 50, 77, 0.04);
	box-sizing: border-box;
}

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

.portaldesk-time-range label {
	display: grid;
	gap: 6px;
	font-weight: 700;
	color: #1f3348;
	font-size: 13px;
}

.portaldesk-time-range input[readonly] {
	background: #eef5fb;
	font-weight: 700;
}

.portaldesk-currency-input {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	border: 1px solid #cfd9e6;
	border-radius: 12px;
	background: #fbfdff;
	overflow: hidden;
}

.portaldesk-currency-input span {
	padding: 0 12px;
	font-weight: 700;
	color: #083b8c;
}

.portaldesk-currency-input input {
	border: 0 !important;
	box-shadow: none !important;
}

.portaldesk-rating-scale {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.portaldesk-rating-scale label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px solid #e3ebf4;
	border-radius: 999px;
	padding: 8px 12px;
	background: #fbfdff;
	font-weight: 700;
	cursor: pointer;
}

.portaldesk-form-divider {
	grid-column: span 12;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 4px 0;
	color: #52606d;
	font-weight: 700;
}

.portaldesk-form-divider::before,
.portaldesk-form-divider::after {
	content: "";
	flex: 1;
	border-top: 1px solid #d9e4ee;
}

.portaldesk-form-divider span {
	white-space: nowrap;
}

.portaldesk-form-field-read-only {
	background: #f8fbff;
}

.portaldesk-read-only-title {
	font-weight: 700;
	color: #083b8c;
	margin-bottom: 8px;
}

.portaldesk-read-only-content p:first-child {
	margin-top: 0;
}

.portaldesk-read-only-content p:last-child {
	margin-bottom: 0;
}

.portaldesk-form-field-admin_note {
	border-color: #d0a650;
	background: #fffaf0;
}

.portaldesk-admin-note-help {
	margin-top: 8px;
}

@media (max-width: 900px) {
	.portaldesk-time-range {
		grid-template-columns: 1fr;
	}
}

/* Step 3 submission activation */
.portaldesk-submit-button {
	cursor: pointer;
	opacity: 1;
}

.portaldesk-submit-button:hover,
.portaldesk-submit-button:focus {
	filter: brightness(1.08);
}

.portaldesk-submission-notice {
	border-radius: 12px;
	padding: 12px 14px;
	margin: 0 0 18px;
	font-weight: 700;
}

.portaldesk-submission-success {
	background: #effaf3;
	border: 1px solid #bfe6cd;
	color: #174d2c;
}

.portaldesk-submission-error {
	background: #fff3f3;
	border: 1px solid #f0c2c2;
	color: #7a1f1f;
}

/* Step 3.1 direct open form and contact display correction */
.portaldesk-form-contact .portaldesk-form-contact-inner {
	width: 100%;
	white-space: pre-line;
	line-height: 1.35;
	margin: 0;
	padding: 0;
}

.portaldesk-form-contact .portaldesk-form-contact-inner p,
.portaldesk-form-contact .portaldesk-form-contact-inner div {
	margin-top: 0;
	margin-bottom: 0;
}

/* Step 3.3 full-screen dashboard, theme-aware contrast, and improved logo display */
.portaldesk-dashboard.portaldesk-dashboard-full {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	min-height: calc(100vh - 32px);
	border-radius: 0;
	border-left: 0;
	border-right: 0;
	background: #f4f7fb;
	box-sizing: border-box;
}

.portaldesk-dashboard-full .portaldesk-sidebar {
	background: var(--portaldesk-primary, #083b8c);
	color: var(--portaldesk-nav-text, #ffffff);
	box-shadow: 18px 0 40px rgba(16, 42, 67, 0.12);
}

.portaldesk-dashboard-full .portaldesk-brand,
.portaldesk-dashboard-full .portaldesk-nav a {
	color: var(--portaldesk-nav-text, #ffffff);
}

.portaldesk-dashboard-full .portaldesk-nav a {
	font-size: var(--portaldesk-dashboard-link-size, 15px);
	border: 1px solid color-mix(in srgb, var(--portaldesk-nav-text, #ffffff) 20%, transparent);
	background: color-mix(in srgb, var(--portaldesk-nav-text, #ffffff) 10%, transparent);
}

.portaldesk-dashboard-full .portaldesk-nav a:hover,
.portaldesk-dashboard-full .portaldesk-nav a:focus {
	color: var(--portaldesk-nav-text, #ffffff);
	background: color-mix(in srgb, var(--portaldesk-nav-text, #ffffff) 18%, transparent);
}

.portaldesk-dashboard-full .portaldesk-main {
	padding: 32px;
	min-width: 0;
}

.portaldesk-dashboard-hero {
	margin-bottom: 20px;
}

.portaldesk-dashboard-section-title {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: flex-start;
	margin-bottom: 18px;
}

.portaldesk-dashboard-section-title h3 {
	margin: 0;
}

.portaldesk-dashboard-back-link {
	display: inline-block;
	padding: 9px 12px;
	border-radius: 10px;
	background: var(--portaldesk-primary, #083b8c);
	color: var(--portaldesk-nav-text, #ffffff);
	text-decoration: none;
	font-weight: 700;
}

.portaldesk-dashboard-back-link:hover,
.portaldesk-dashboard-back-link:focus {
	color: var(--portaldesk-nav-text, #ffffff);
	filter: brightness(1.06);
}

.portaldesk-dashboard-open-form .portaldesk-form-wrap {
	box-shadow: none;
	border-radius: 18px;
}

.portaldesk-form-open-link {
	color: var(--portaldesk-nav-text, #ffffff);
}

.portaldesk-form-open-link:hover,
.portaldesk-form-open-link:focus {
	color: var(--portaldesk-nav-text, #ffffff);
}

.portaldesk-form-header .portaldesk-form-logo,
.portaldesk-completed-entry-view .portaldesk-form-logo {
	display: block;
	max-width: min(100%, 320px);
	max-height: 160px;
	width: auto;
	height: auto;
	object-fit: contain;
	image-rendering: auto;
}

@media (max-width: 900px) {
	.portaldesk-dashboard.portaldesk-dashboard-full {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.portaldesk-dashboard-full .portaldesk-main {
		padding: 20px;
	}

	.portaldesk-dashboard-section-title {
		display: block;
	}

	.portaldesk-dashboard-back-link {
		margin-top: 12px;
	}
}

/* Step 3.4 Dashboard Manager active style controls */
.portaldesk-dashboard.portaldesk-dashboard-full {
	background: var(--portaldesk-dashboard-bg, #f4f7fb);
	color: var(--portaldesk-dashboard-text, #1f3348);
}

.portaldesk-dashboard-full .portaldesk-main {
	background: var(--portaldesk-dashboard-bg, #f4f7fb);
	color: var(--portaldesk-dashboard-text, #1f3348);
}

.portaldesk-dashboard-full .portaldesk-panel,
.portaldesk-dashboard-full .portaldesk-card {
	background: var(--portaldesk-dashboard-card-bg, #ffffff);
	color: var(--portaldesk-dashboard-text, #1f3348);
}

.portaldesk-dashboard-full .portaldesk-panel h2,
.portaldesk-dashboard-full .portaldesk-card h3,
.portaldesk-dashboard-full .portaldesk-dashboard-section-title h3 {
	color: var(--portaldesk-dashboard-heading, #102a43);
}

.portaldesk-dashboard-full .portaldesk-main a {
	color: var(--portaldesk-dashboard-link-color, var(--portaldesk-primary, #083b8c));
}

.portaldesk-dashboard-full .portaldesk-sidebar,
.portaldesk-dashboard-full .portaldesk-sidebar a,
.portaldesk-dashboard-full .portaldesk-brand,
.portaldesk-dashboard-full .portaldesk-nav a {
	color: var(--portaldesk-nav-text, #ffffff);
}

.portaldesk-dashboard-full .portaldesk-dashboard-hero h2 {
	color: var(--portaldesk-welcome-heading, #102a43);
	font-size: var(--portaldesk-welcome-heading-size, 28px);
}

.portaldesk-dashboard-full .portaldesk-dashboard-hero > p:not(.portaldesk-eyebrow) {
	color: var(--portaldesk-welcome-text, #334e68);
	font-size: var(--portaldesk-welcome-text-size, 16px);
	line-height: 1.6;
}

.portaldesk-dashboard-full .portaldesk-nav a {
	font-size: var(--portaldesk-dashboard-link-size, 15px);
}

/* Step 3.5 stronger Dashboard Manager hyperlink/navigation color controls */
.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-sidebar,
.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-sidebar .portaldesk-brand,
.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-sidebar .portaldesk-nav a,
.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-sidebar .portaldesk-nav a:visited,
.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-sidebar .portaldesk-nav a:hover,
.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-sidebar .portaldesk-nav a:focus {
	color: var(--portaldesk-dashboard-link-color, var(--portaldesk-nav-text, #ffffff)) !important;
}

.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-sidebar .portaldesk-nav a {
	font-size: var(--portaldesk-dashboard-link-size, 15px) !important;
}

.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-main a,
.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-main a:visited,
.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-dashboard-back-link,
.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-form-open-link {
	color: var(--portaldesk-dashboard-link-color, var(--portaldesk-primary, #083b8c)) !important;
}

.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-dashboard-back-link,
.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-form-open-link {
	font-size: var(--portaldesk-dashboard-link-size, 15px) !important;
}

.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-dashboard-back-link {
	background: var(--portaldesk-primary, #083b8c);
}

/* Step 3.7 Start / End Time display controls */
.portaldesk-time-range.portaldesk-time-range-layout-horizontal {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.portaldesk-time-range.portaldesk-time-range-layout-vertical {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.portaldesk-completed-time-range {
	width: 100%;
}

.portaldesk-completed-time-range-horizontal {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.portaldesk-completed-time-range-vertical {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}

.portaldesk-completed-time-item {
	background: #f8fbff;
	border: 1px solid #dbe5ef;
	border-radius: 12px;
	padding: 10px 12px;
}

.portaldesk-completed-time-item strong {
	color: #102a43;
}

@media (max-width: 700px) {
	.portaldesk-time-range.portaldesk-time-range-layout-horizontal,
	.portaldesk-completed-time-range-horizontal {
		grid-template-columns: 1fr;
	}
}

/* Step 3.8 A4 paper-size form display inside PortalDesk dashboard and direct open form shell */
.portaldesk-dashboard-open-form {
	background: transparent;
}

.portaldesk-dashboard-open-form .portaldesk-form-wrap,
.portaldesk-open-form-shell .portaldesk-form-wrap {
	width: min(100%, 8.3in);
	max-width: 8.3in;
	min-height: 11.7in;
	margin-left: auto;
	margin-right: auto;
	padding: 0.35in;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 26px 70px rgba(15, 39, 64, 0.18);
	box-sizing: border-box;
}

.portaldesk-dashboard-open-form .portaldesk-form-header,
.portaldesk-open-form-shell .portaldesk-form-header {
	margin-bottom: 0.22in;
}

.portaldesk-dashboard-open-form .portaldesk-form-grid,
.portaldesk-open-form-shell .portaldesk-form-grid {
	gap: 14px;
}

.portaldesk-dashboard-open-form .portaldesk-form-field,
.portaldesk-open-form-shell .portaldesk-form-field {
	padding: 14px;
	box-shadow: none;
}

.portaldesk-dashboard-open-form .portaldesk-submit-button,
.portaldesk-open-form-shell .portaldesk-submit-button {
	margin-top: 18px;
}

@media (max-width: 900px) {
	.portaldesk-dashboard-open-form .portaldesk-form-wrap,
	.portaldesk-open-form-shell .portaldesk-form-wrap {
		width: 100%;
		max-width: 100%;
		min-height: auto;
		padding: 20px;
	}
}

/* Step 3.9 external dashboard tab and open-form spacing refinement */
.portaldesk-dashboard-full .portaldesk-tab-panel[hidden] {
	display: none !important;
}

.portaldesk-dashboard-full .portaldesk-nav a.is-active,
.portaldesk-dashboard-full .portaldesk-nav a[aria-current="page"] {
	background: color-mix(in srgb, var(--portaldesk-dashboard-link-color, var(--portaldesk-nav-text, #ffffff)) 22%, transparent) !important;
	box-shadow: inset 4px 0 0 currentColor;
}

.portaldesk-dashboard-full .portaldesk-tab-panel {
	max-width: 1180px;
}

.portaldesk-dashboard.portaldesk-has-open-form {
	align-items: stretch;
}

.portaldesk-dashboard.portaldesk-has-open-form .portaldesk-main {
	padding: 16px 18px;
	display: block;
}

.portaldesk-dashboard.portaldesk-has-open-form .portaldesk-dashboard-open-form {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
	margin: 0;
}

.portaldesk-dashboard-form-tools {
	width: min(100%, 8.3in);
	max-width: 8.3in;
	margin: 0 0 10px 0;
	display: flex;
	justify-content: flex-end;
}

.portaldesk-dashboard.portaldesk-has-open-form .portaldesk-dashboard-open-form .portaldesk-form-wrap {
	margin-left: 0;
	margin-right: 0;
}

.portaldesk-dashboard.portaldesk-has-open-form .portaldesk-dashboard-back-link {
	padding: 8px 11px;
	border-radius: 9px;
	text-decoration: none;
}

.portaldesk-dashboard:not(.portaldesk-has-open-form) .portaldesk-main {
	display: block;
}

.portaldesk-dashboard:not(.portaldesk-has-open-form) .portaldesk-card-wide-public {
	grid-column: auto;
}

.portaldesk-dashboard:not(.portaldesk-has-open-form) .portaldesk-form-list {
	padding-left: 0;
	list-style: none;
}

.portaldesk-dashboard:not(.portaldesk-has-open-form) .portaldesk-form-list li {
	padding: 14px 16px;
	border: 1px solid #dbe5ef;
	border-radius: 14px;
	background: #f8fbff;
}

@media (max-width: 900px) {
	.portaldesk-dashboard.portaldesk-has-open-form .portaldesk-main {
		padding: 14px;
	}

	.portaldesk-dashboard-form-tools {
		width: 100%;
		max-width: 100%;
	}
}

/* Step 3.10 dashboard top header, cleaner sidebar start, and open-form alignment */
.portaldesk-dashboard.portaldesk-dashboard-full {
	grid-template-columns: 250px minmax(0, 1fr);
	grid-template-rows: 64px minmax(0, 1fr);
	align-items: stretch;
}

.portaldesk-dashboard-topbar {
	grid-column: 1 / -1;
	grid-row: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 0 22px;
	background: var(--portaldesk-dashboard-card-bg, #ffffff);
	border-bottom: 1px solid #dbe5ef;
	box-shadow: 0 8px 24px rgba(15, 39, 64, 0.06);
	z-index: 5;
}

.portaldesk-topbar-brand {
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: var(--portaldesk-dashboard-heading, #102a43);
}

.portaldesk-user-menu {
	position: relative;
	font-size: 14px;
	color: var(--portaldesk-dashboard-text, #1f3348);
}

.portaldesk-user-menu summary {
	list-style: none;
	cursor: pointer;
	border: 1px solid #d9e4ee;
	border-radius: 999px;
	background: #f8fbff;
	padding: 8px 14px;
	font-weight: 700;
}

.portaldesk-user-menu summary::-webkit-details-marker {
	display: none;
}

.portaldesk-user-menu summary::after {
	content: "▾";
	margin-left: 8px;
	font-size: 11px;
}

.portaldesk-user-menu[open] summary::after {
	content: "▴";
}

.portaldesk-user-menu-panel {
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	min-width: 190px;
	background: #ffffff;
	border: 1px solid #dbe5ef;
	border-radius: 14px;
	box-shadow: 0 18px 45px rgba(15, 39, 64, 0.14);
	padding: 8px;
	z-index: 20;
}

.portaldesk-user-menu-panel a,
.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-main .portaldesk-user-menu-panel a {
	display: block;
	padding: 10px 12px;
	border-radius: 10px;
	color: #083b8c !important;
	text-decoration: none;
	font-size: 14px !important;
}

.portaldesk-user-menu-panel a:hover,
.portaldesk-user-menu-panel a:focus {
	background: #f2f6fb;
}

.portaldesk-dashboard-full .portaldesk-sidebar {
	grid-column: 1;
	grid-row: 2;
	padding: 16px 14px;
}

.portaldesk-dashboard-full .portaldesk-main {
	grid-column: 2;
	grid-row: 2;
	padding: 16px 18px;
}

.portaldesk-dashboard-full .portaldesk-nav {
	gap: 9px;
}

.portaldesk-dashboard-full .portaldesk-brand {
	display: none;
}

.portaldesk-dashboard.portaldesk-has-open-form .portaldesk-main {
	padding-top: 16px;
}

.portaldesk-dashboard.portaldesk-has-open-form .portaldesk-dashboard-open-form .portaldesk-form-wrap {
	margin-top: 0;
}

.portaldesk-dashboard-form-tools,
.portaldesk-dashboard.portaldesk-has-open-form .portaldesk-dashboard-back-link {
	display: none !important;
}

@media (max-width: 900px) {
	.portaldesk-dashboard.portaldesk-dashboard-full {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto 1fr;
	}

	.portaldesk-dashboard-topbar {
		grid-column: 1;
		grid-row: 1;
		flex-wrap: wrap;
		padding: 12px 16px;
	}

	.portaldesk-dashboard-full .portaldesk-sidebar {
		grid-column: 1;
		grid-row: 2;
	}

	.portaldesk-dashboard-full .portaldesk-main {
		grid-column: 1;
		grid-row: 3;
		padding: 14px;
	}

	.portaldesk-user-menu-panel {
		right: auto;
		left: 0;
	}
}

/* Step 3.11 PortalDesk-native profile/settings, header branding, and submenu-ready navigation */
.portaldesk-dashboard-topbar {
	display: grid;
	grid-template-columns: minmax(170px, 1fr) minmax(160px, 1fr) minmax(170px, 1fr);
	background: var(--portaldesk-header-bg, #ffffff) !important;
	color: var(--portaldesk-header-text, #102a43);
}

.portaldesk-topbar-brand {
	justify-self: start;
	font-size: var(--portaldesk-header-text-size, 20px);
	color: var(--portaldesk-header-text, #102a43);
}

.portaldesk-topbar-brand a,
.portaldesk-topbar-brand a:visited {
	color: var(--portaldesk-header-text, #102a43) !important;
	text-decoration: none;
}

.portaldesk-topbar-brand-text {
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1;
}

.portaldesk-topbar-brand-logo {
	display: block;
	max-height: var(--portaldesk-brand-logo-height, 34px);
	max-width: 260px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.portaldesk-topbar-company-logo-wrap {
	justify-self: center;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 1px;
}

.portaldesk-topbar-company-logo-wrap a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.portaldesk-topbar-company-logo {
	display: block;
	max-height: var(--portaldesk-company-logo-height, 38px);
	max-width: 280px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.portaldesk-user-menu {
	justify-self: end;
	font-size: var(--portaldesk-header-user-size, 14px);
	color: var(--portaldesk-header-user-text, #1f3348);
}

.portaldesk-user-menu summary {
	color: var(--portaldesk-header-user-text, #1f3348);
	font-size: var(--portaldesk-header-user-size, 14px);
}

.portaldesk-nav-group {
	display: grid;
	gap: 7px;
}

.portaldesk-nav-group > .portaldesk-nav-main-link {
	color: var(--portaldesk-dashboard-link-color, var(--portaldesk-nav-text, #ffffff)) !important;
	text-decoration: none;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid color-mix(in srgb, var(--portaldesk-dashboard-link-color, var(--portaldesk-nav-text, #ffffff)) 20%, transparent);
	background: color-mix(in srgb, var(--portaldesk-dashboard-link-color, var(--portaldesk-nav-text, #ffffff)) 10%, transparent);
	font-size: var(--portaldesk-dashboard-link-size, 15px) !important;
}

.portaldesk-nav-submenu {
	display: grid;
	gap: 6px;
	padding: 0 0 2px 14px;
	border-left: 1px solid color-mix(in srgb, var(--portaldesk-dashboard-link-color, var(--portaldesk-nav-text, #ffffff)) 25%, transparent);
}

.portaldesk-nav-submenu a,
.portaldesk-dashboard.portaldesk-dashboard-full .portaldesk-sidebar .portaldesk-nav-submenu a {
	padding: 8px 10px;
	font-size: calc(var(--portaldesk-dashboard-link-size, 15px) - 1px) !important;
	border-radius: 9px;
	background: color-mix(in srgb, var(--portaldesk-dashboard-link-color, var(--portaldesk-nav-text, #ffffff)) 6%, transparent);
	border-color: color-mix(in srgb, var(--portaldesk-dashboard-link-color, var(--portaldesk-nav-text, #ffffff)) 12%, transparent);
}

.portaldesk-nav-submenu a:hover,
.portaldesk-nav-submenu a:focus {
	background: color-mix(in srgb, var(--portaldesk-dashboard-link-color, var(--portaldesk-nav-text, #ffffff)) 18%, transparent) !important;
}

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

.portaldesk-dashboard-profile-form label,
.portaldesk-dashboard-form-grid label {
	display: block;
	font-weight: 700;
	margin-bottom: 6px;
	color: var(--portaldesk-dashboard-heading, #102a43);
}

.portaldesk-dashboard-profile-form input,
.portaldesk-dashboard-profile-form textarea {
	width: 100%;
	border: 1px solid #cbd7e3;
	border-radius: 12px;
	padding: 11px 12px;
	box-sizing: border-box;
	background: #fff;
}

.portaldesk-dashboard-profile-form input[readonly] {
	background: #f5f7fa;
	color: #52677c;
}

.portaldesk-dashboard-notice {
	border-radius: 12px;
	padding: 12px 14px;
	margin: 14px 0;
	font-weight: 700;
}

.portaldesk-dashboard-notice-success {
	background: #ecfdf3;
	border: 1px solid #a6e7bd;
	color: #0d6b35;
}

.portaldesk-dashboard-notice-error {
	background: #fff4f4;
	border: 1px solid #ffc6c6;
	color: #9d1c1c;
}

.portaldesk-muted {
	color: #52677c;
}

.portaldesk-user-settings-list {
	display: grid;
	gap: 10px;
	padding: 16px;
	border: 1px solid #dbe5ef;
	border-radius: 14px;
	background: #f8fbff;
}

.portaldesk-user-settings-list p {
	margin: 0;
}

@media (max-width: 900px) {
	.portaldesk-dashboard-topbar {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.portaldesk-topbar-brand,
	.portaldesk-topbar-company-logo-wrap,
	.portaldesk-user-menu {
		justify-self: start;
	}

	.portaldesk-dashboard-form-grid {
		grid-template-columns: 1fr;
	}
}

/* Step 3.13 larger dashboard logos, click-to-open submenus, and account settings polish */
.portaldesk-topbar-brand-logo {
	max-height: var(--portaldesk-brand-logo-height, 48px);
	max-width: 340px;
}

.portaldesk-topbar-company-logo {
	max-height: var(--portaldesk-company-logo-height, 60px);
	max-width: 380px;
}

.portaldesk-nav-has-children .portaldesk-nav-submenu {
	display: none !important;
}

.portaldesk-nav-has-children.is-open .portaldesk-nav-submenu {
	display: grid !important;
}

.portaldesk-nav-main-link::after {
	content: "+";
	float: right;
	font-weight: 800;
}

.portaldesk-nav-has-children.is-open > .portaldesk-nav-main-link::after {
	content: "-";
}

.portaldesk-dashboard-password-form {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid #dbe5ef;
}

.portaldesk-dashboard-password-form h4 {
	margin: 0 0 12px;
	font-size: 18px;
	color: var(--portaldesk-dashboard-heading, #102a43);
}

.portaldesk-dashboard-profile-form input[type="password"],
.portaldesk-dashboard-profile-form input[type="date"] {
	width: 100%;
	border: 1px solid #cbd7e3;
	border-radius: 12px;
	padding: 11px 12px;
	box-sizing: border-box;
	background: #fff;
}

.portaldesk-dashboard-profile-form .portaldesk-field-help {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.35;
	color: #52677c;
}

/* Step 4.9: friendlier dropdowns, 12-hour time inputs, and no-refresh required validation */
.portaldesk-form-field select.portaldesk-friendly-select,
.portaldesk-form-field select {
	appearance: none;
	-webkit-appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #52606d 50%), linear-gradient(135deg, #52606d 50%, transparent 50%), linear-gradient(to right, #dbe5ef, #dbe5ef);
	background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%, calc(100% - 42px) 50%;
	background-size: 6px 6px, 6px 6px, 1px 70%;
	background-repeat: no-repeat;
	padding: 11px 48px 11px 14px;
	min-height: 48px;
	font-size: 15px;
	line-height: 1.35;
	cursor: pointer;
}

.portaldesk-form-field select.portaldesk-friendly-select:hover,
.portaldesk-form-field select:hover {
	border-color: #8aa2b8;
	background-color: #ffffff;
}

.portaldesk-form-field select.portaldesk-friendly-select option,
.portaldesk-form-field select option {
	font-size: 15px;
	padding: 8px 10px;
}

.portaldesk-time-12-input {
	letter-spacing: 0.01em;
}

.portaldesk-required-summary {
	margin: 0 0 16px;
	padding: 12px 14px;
	border: 1px solid #f3a6a6;
	border-left: 5px solid #d63638;
	border-radius: 12px;
	background: #fff4f4;
	color: #8a1f1f;
	font-weight: 700;
}

.portaldesk-field-missing {
	border-color: #d63638 !important;
	box-shadow: 0 0 0 3px rgba(214, 54, 56, 0.12) !important;
	background: #fffafa !important;
}

.portaldesk-field-missing > label,
.portaldesk-field-missing .portaldesk-choice-text,
.portaldesk-field-missing .portaldesk-field-help {
	color: #8a1f1f;
}

.portaldesk-field-missing input,
.portaldesk-field-missing textarea,
.portaldesk-field-missing select,
.portaldesk-field-missing .portaldesk-choice-row {
	border-color: #d63638 !important;
}

.portaldesk-field-missing::after {
	content: 'Required field missing';
	display: inline-block;
	margin-top: 8px;
	padding: 5px 8px;
	border-radius: 999px;
	background: #d63638;
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
}

/* Step 4.10: selectable 12-hour Start / End Time controls */
.portaldesk-time-select {
	display: grid;
	grid-template-columns: minmax(82px, 1fr) minmax(92px, 1fr) minmax(90px, 1fr);
	gap: 8px;
	width: 100%;
}

.portaldesk-time-select select {
	width: 100%;
	min-height: 44px;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	background: #fff;
	padding: 8px 10px;
	font-size: 15px;
	line-height: 1.25;
}

.portaldesk-field-missing .portaldesk-time-select select,
.portaldesk-time-select select[aria-invalid="true"] {
	border-color: #dc2626;
	box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.12);
}

@media (max-width: 640px) {
	.portaldesk-time-select {
		grid-template-columns: 1fr;
	}
}

/* Step 4.11: polished selectable Start / End Time display on empty forms */
.portaldesk-form-field-time_range {
	padding: 22px 18px 18px;
}

.portaldesk-form-field-time_range > label:first-child {
	display: block;
	margin-bottom: 14px;
	font-size: 15px;
	font-weight: 800;
	color: #102a43;
}

.portaldesk-time-range.portaldesk-time-range-layout-horizontal {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 20px;
	align-items: end;
}

.portaldesk-time-range.portaldesk-time-range-layout-horizontal .portaldesk-time-range-total {
	grid-column: 1 / -1;
	max-width: 380px;
}

.portaldesk-time-range label {
	min-width: 0;
}

.portaldesk-time-range label > span {
	margin-bottom: 2px;
}

.portaldesk-time-range .portaldesk-time-select {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr) minmax(0, 0.9fr);
	gap: 8px;
	width: 100%;
	min-width: 0;
}

.portaldesk-time-range .portaldesk-time-select select {
	width: 100%;
	min-width: 0;
	min-height: 44px;
	padding: 8px 7px;
	font-size: 14px;
	line-height: 1.2;
	text-align: center;
	text-overflow: ellipsis;
	box-sizing: border-box;
}

.portaldesk-time-range input[data-time-total] {
	min-height: 44px;
	padding-left: 14px;
	padding-right: 14px;
}

@media (max-width: 640px) {
	.portaldesk-time-range.portaldesk-time-range-layout-horizontal {
		grid-template-columns: 1fr;
	}

	.portaldesk-time-range.portaldesk-time-range-layout-horizontal .portaldesk-time-range-total {
		grid-column: auto;
		max-width: none;
	}
}

/* Step 5.0 secure file upload field note */
.portaldesk-file-note {
	border-left: 3px solid #d6e4f0;
	padding-left: 10px;
	color: #52606d;
}

/* Step 5.1 secure file download link polish */
.portaldesk-uploaded-file {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.portaldesk-secure-file-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 12px;
	border-radius: 10px;
	background: #eef6ff;
	border: 1px solid #cfe2f3;
	color: #0f4c81;
	font-weight: 800;
	text-decoration: none;
}
.portaldesk-secure-file-link:hover,
.portaldesk-secure-file-link:focus {
	background: #ddefff;
	color: #0b3d66;
	text-decoration: underline;
}
.portaldesk-secure-file-badge,
.portaldesk-legacy-file-badge {
	display: inline-block;
	padding: 2px 7px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
}
.portaldesk-secure-file-badge {
	background: #e8f8ef;
	color: #176b3a;
}
.portaldesk-legacy-file-badge {
	background: #fff7e6;
	color: #8a5b00;
}
.portaldesk-uploaded-file-name {
	font-weight: 700;
	color: #1f3348;
}

/* Step 6.0 electronic signature capture */
.portaldesk-signature-pad {
	max-width: 760px;
}

.portaldesk-signature-pad-frame {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 14px;
	padding: 10px;
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.06);
}

.portaldesk-signature-canvas {
	display: block;
	width: 100%;
	height: 170px;
	background: #ffffff;
	border-radius: 10px;
	touch-action: none;
	cursor: crosshair;
}

.portaldesk-signature-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 10px;
}

.portaldesk-signature-clear {
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	background: #f8fafc;
	color: #102a43;
	font-weight: 700;
	padding: 8px 14px;
	cursor: pointer;
}

.portaldesk-signature-clear:hover,
.portaldesk-signature-clear:focus {
	background: #eaf1f8;
}

.portaldesk-signature-hint {
	font-size: 13px;
	color: #64748b;
}

.portaldesk-existing-signature {
	display: none;
}

.portaldesk-signature-display img {
	display: block;
	max-width: 360px;
	width: 100%;
	height: auto;
	background: #fff;
	border: 1px solid #dbe5ef;
	border-radius: 10px;
	padding: 8px;
}

.portaldesk-signature-display span,
.portaldesk-no-signature {
	display: inline-block;
	margin-top: 6px;
	font-size: 13px;
	color: #52606d;
}

.portaldesk-field-missing .portaldesk-signature-pad-frame {
	border-color: #d63638;
	box-shadow: 0 0 0 3px rgba(214, 54, 56, 0.12);
}

/* Step 6.1 signature size controls */
.portaldesk-signature-pad {
	width: 100%;
}
.portaldesk-signature-canvas {
	max-width: 100%;
}

/* Step 6.2 signature outer box size controls */
.portaldesk-signature-pad {
	box-sizing: border-box;
	max-width: 100%;
}
.portaldesk-signature-pad-frame {
	box-sizing: border-box;
	max-width: 100%;
}
.portaldesk-signature-pad .portaldesk-signature-actions {
	max-width: 100%;
}
@media (max-width: 640px) {
	.portaldesk-signature-pad,
	.portaldesk-signature-pad-frame {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* Step 6.3 signature compact display and text area wrapping */
.portaldesk-signature-pad {
	width: auto;
	max-width: 100%;
	padding: 0;
}
.portaldesk-signature-pad-frame {
	padding: 5px;
	border-radius: 8px;
}
.portaldesk-signature-canvas {
	min-height: 40px;
	border-radius: 6px;
}
.portaldesk-signature-actions {
	gap: 8px;
	margin-top: 6px;
}
.portaldesk-signature-clear {
	padding: 5px 10px;
	font-size: 12px;
}
.portaldesk-signature-hint {
	font-size: 12px;
	line-height: 1.3;
}
.portaldesk-form-field textarea {
	white-space: pre-wrap;
	resize: vertical;
}
.portaldesk-submission-value,
.portaldesk-entry-value {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

/* Step 6.4 tighter signature box spacing */
.portaldesk-signature-pad-frame {
	padding: 2px;
	border-radius: 6px;
}
.portaldesk-signature-actions {
	gap: 5px;
	margin-top: 3px;
}
.portaldesk-signature-clear {
	padding: 3px 8px;
	font-size: 11px;
	line-height: 1.3;
}
.portaldesk-signature-hint {
	font-size: 11px;
	line-height: 1.2;
	margin-top: 0;
}
.portaldesk-signature-display img {
	max-width: 260px;
	padding: 3px;
	border-radius: 6px;
}

/* Step 6.5 signature audit details */
.portaldesk-signature-audit-display .portaldesk-signature-audit-lines {
	margin-top: 6px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 12px;
	line-height: 1.35;
	color: #52606d;
}
.portaldesk-signature-audit-display .portaldesk-signature-audit-lines span {
	display: block;
}

/* Step 6.7 signature display compression and completed display styles */
.portaldesk-signature-display-shell {
	display: inline-block;
	max-width: 100%;
}
.portaldesk-signature-display-shell .portaldesk-signature-display img,
.portaldesk-signature-display img {
	padding: 1px !important;
	border-radius: 4px !important;
	max-width: 220px;
}
.portaldesk-signature-display-shell .portaldesk-signature-display span,
.portaldesk-signature-display span {
	margin-top: 3px;
	font-size: 12px;
}
.portaldesk-signature-audit-below {
	margin-top: 6px;
}
.portaldesk-signature-audit-below .portaldesk-signature-audit-lines {
	margin-top: 0;
}
.portaldesk-completed-style-soft_cards .portaldesk-completed-field,
.portaldesk-completed-style-soft_cards .portaldesk-completed-display-block {
	border-radius: 22px;
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
	background: #ffffff;
}
.portaldesk-completed-style-clean_white {
	background: #ffffff;
	row-gap: 0;
}
.portaldesk-completed-style-clean_white .portaldesk-completed-field,
.portaldesk-completed-style-clean_white .portaldesk-completed-display-block {
	border: 0 !important;
	border-radius: 0 !important;
	background: #ffffff !important;
	box-shadow: none !important;
	padding: 10px 0 !important;
	border-bottom: 1px solid #e2e8f0 !important;
}
.portaldesk-completed-style-compact_lines .portaldesk-completed-field,
.portaldesk-completed-style-compact_lines .portaldesk-completed-display-block {
	padding: 9px 12px !important;
	margin: 0 !important;
	border-radius: 8px !important;
}
.portaldesk-completed-style-executive .portaldesk-completed-field,
.portaldesk-completed-style-executive .portaldesk-completed-display-block {
	border-left: 4px solid #102a43 !important;
	border-radius: 8px !important;
	background: #f8fafc !important;
}
.portaldesk-completed-style-minimal_bordered .portaldesk-completed-field,
.portaldesk-completed-style-minimal_bordered .portaldesk-completed-display-block {
	border: 1px solid #cbd5e1 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
}

/* Step 6.8 completed header styles and signature compacting */
.portaldesk-completed-header-style-soft_cards {
	background: #f8fbfe !important;
	border: 1px solid #e8eef5 !important;
	border-radius: 22px !important;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
	padding: 14px !important;
	margin-bottom: 18px !important;
}
.portaldesk-completed-header-style-clean_white {
	background: #ffffff !important;
	border: 0 !important;
	border-bottom: 1px solid #e2e8f0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 8px 0 14px !important;
}
.portaldesk-completed-header-style-compact_lines {
	background: #ffffff !important;
	border: 1px solid #e6edf5 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	padding: 10px !important;
}
.portaldesk-completed-header-style-executive {
	background: #ffffff !important;
	border: 1px solid #cfd8e3 !important;
	border-top: 5px solid #102a43 !important;
	border-radius: 12px !important;
	box-shadow: none !important;
}
.portaldesk-completed-header-style-minimal_bordered {
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}
.portaldesk-completed-style-soft_cards .portaldesk-completed-field,
.portaldesk-completed-style-soft_cards .portaldesk-completed-display-block {
	border: 1px solid #e8eef5 !important;
	border-radius: 22px !important;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
	background: #ffffff !important;
}
.portaldesk-completed-type-signature .portaldesk-completed-label {
	margin-bottom: 2px !important;
}
.portaldesk-completed-type-signature .portaldesk-completed-value {
	line-height: 1.25 !important;
}
.portaldesk-completed-type-signature .portaldesk-signature-display {
	margin-top: 0 !important;
}
.portaldesk-completed-type-signature .portaldesk-signature-audit-below {
	margin-top: 3px !important;
}
.portaldesk-completed-type-signature {
	padding: 8px 10px !important;
}
.portaldesk-completed-type-signature .portaldesk-signature-display img {
	max-width: 180px !important;
}


/* Step 6.15 date value alignment */
.portaldesk-date-value-align-left .portaldesk-completed-value { text-align: left; }
.portaldesk-date-value-align-center .portaldesk-completed-value { text-align: center; }
.portaldesk-date-value-align-right .portaldesk-completed-value { text-align: right; }

/* Step 6.16 date block label/value alignment and section heading size support */
.portaldesk-date-value-align-left .portaldesk-completed-label,
.portaldesk-date-value-align-left .portaldesk-completed-value { text-align: left; }
.portaldesk-date-value-align-center .portaldesk-completed-label,
.portaldesk-date-value-align-center .portaldesk-completed-value { text-align: center; }
.portaldesk-date-value-align-right .portaldesk-completed-label,
.portaldesk-date-value-align-right .portaldesk-completed-value { text-align: right; }

/* Step 6.17 - generic completed field display alignment */
.portaldesk-field-display-align-left .portaldesk-completed-label,
.portaldesk-field-display-align-left .portaldesk-completed-value {
	text-align: left !important;
}
.portaldesk-field-display-align-center .portaldesk-completed-label,
.portaldesk-field-display-align-center .portaldesk-completed-value {
	text-align: center !important;
}
.portaldesk-field-display-align-right .portaldesk-completed-label,
.portaldesk-field-display-align-right .portaldesk-completed-value {
	text-align: right !important;
}
.portaldesk-field-display-align-center .portaldesk-completed-time-range,
.portaldesk-field-display-align-center .portaldesk-completed-time-item {
	text-align: center !important;
}
.portaldesk-field-display-align-right .portaldesk-completed-time-range,
.portaldesk-field-display-align-right .portaldesk-completed-time-item {
	text-align: right !important;
}

/* Step 6.17 - clean white completed entry time range should not add inner boxes */
.portaldesk-completed-style-clean_white .portaldesk-completed-time-item {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
}

/* Step 7.1 Inbox dashboard foundation */
.portaldesk-nav-inbox-group > .portaldesk-nav-main-link {
	position: relative;
}
.portaldesk-inbox-panel .portaldesk-dashboard-section-heading {
	margin-bottom: 16px;
}
.portaldesk-inbox-subtabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 16px;
}
.portaldesk-inbox-subtab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 999px;
	border: 1px solid #d7e3ef;
	background: #f8fbff;
	color: var(--portaldesk-dashboard-heading, #102a43) !important;
	font-weight: 700;
	text-decoration: none !important;
}
.portaldesk-inbox-subtab:hover,
.portaldesk-inbox-subtab:focus,
.portaldesk-inbox-subtab.is-active {
	background: #edf5ff;
	border-color: #aac8ea;
}
.portaldesk-inbox-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}
.portaldesk-inbox-card,
.portaldesk-empty-state {
	border: 1px solid #dbe7f3;
	border-radius: 18px;
	background: #ffffff;
	padding: 16px;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}
.portaldesk-inbox-card h4,
.portaldesk-empty-state strong {
	margin: 0 0 8px;
	color: var(--portaldesk-dashboard-heading, #102a43);
}
.portaldesk-inbox-card p,
.portaldesk-empty-state p {
	margin: 0;
	color: var(--portaldesk-dashboard-text, #1f3348);
}
@media (max-width: 720px) {
	.portaldesk-inbox-grid {
		grid-template-columns: 1fr;
	}
}


/* Step 7.2 Save as Draft foundation */
.portaldesk-form-action-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 14px;
}
.portaldesk-button-secondary,
.portaldesk-save-draft-button {
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	color: #083b8c !important;
	box-shadow: none !important;
}
.portaldesk-button-secondary:hover,
.portaldesk-button-secondary:focus,
.portaldesk-save-draft-button:hover,
.portaldesk-save-draft-button:focus {
	background: #f4f8fc !important;
}
.portaldesk-inbox-list {
	display: grid;
	gap: 10px;
}
.portaldesk-inbox-list-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: center;
	border: 1px solid #dbe7f3;
	border-radius: 14px;
	background: #ffffff;
	padding: 12px 14px;
}
.portaldesk-inbox-list-row strong,
.portaldesk-inbox-list-row span,
.portaldesk-inbox-list-row em {
	display: block;
}
.portaldesk-inbox-list-row span,
.portaldesk-inbox-list-row em {
	font-size: 13px;
	color: #64748b;
}
@media (max-width: 720px) {
	.portaldesk-inbox-list-row {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Step 7.3 - readable Inbox subtab buttons and draft resume action */
.portaldesk-inbox-subtab {
	background: #083b8c !important;
	border-color: #083b8c !important;
	color: #ffffff !important;
}
.portaldesk-inbox-subtab:hover,
.portaldesk-inbox-subtab:focus,
.portaldesk-inbox-subtab.is-active {
	background: #ffffff !important;
	border-color: #083b8c !important;
	color: #083b8c !important;
}
.portaldesk-inbox-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 13px;
	border-radius: 999px;
	background: #083b8c !important;
	border: 1px solid #083b8c !important;
	color: #ffffff !important;
	font-weight: 700;
	text-decoration: none !important;
	white-space: nowrap;
}
.portaldesk-inbox-action:hover,
.portaldesk-inbox-action:focus {
	background: #ffffff !important;
	color: #083b8c !important;
}
.portaldesk-draft-file-note {
	background: #f8fbff;
	border: 1px solid #dbe7f3;
	border-radius: 10px;
	padding: 8px 10px;
}

/* Step 7.4 - dashboard tool button styling and no-hover flip behavior */
.portaldesk-dashboard .portaldesk-inbox-subtab,
.portaldesk-dashboard .portaldesk-inbox-subtab:hover,
.portaldesk-dashboard .portaldesk-inbox-subtab:focus,
.portaldesk-dashboard .portaldesk-inbox-subtab.is-active,
.portaldesk-dashboard .portaldesk-inbox-action,
.portaldesk-dashboard .portaldesk-inbox-action:hover,
.portaldesk-dashboard .portaldesk-inbox-action:focus,
.portaldesk-dashboard .portaldesk-save-draft-button,
.portaldesk-dashboard .portaldesk-save-draft-button:hover,
.portaldesk-dashboard .portaldesk-save-draft-button:focus {
	background: var(--portaldesk-tool-button-bg, #083b8c) !important;
	border-color: var(--portaldesk-tool-button-border, #083b8c) !important;
	color: var(--portaldesk-tool-button-text, #ffffff) !important;
	font-size: var(--portaldesk-tool-button-size, 14px) !important;
	padding: var(--portaldesk-tool-button-pad-y, 10px) var(--portaldesk-tool-button-pad-x, 14px) !important;
	border-radius: var(--portaldesk-tool-button-radius, 999px) !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
	text-decoration: none !important;
}
.portaldesk-dashboard .portaldesk-inbox-subtab:hover,
.portaldesk-dashboard .portaldesk-inbox-subtab:focus,
.portaldesk-dashboard .portaldesk-inbox-action:hover,
.portaldesk-dashboard .portaldesk-inbox-action:focus,
.portaldesk-dashboard .portaldesk-save-draft-button:hover,
.portaldesk-dashboard .portaldesk-save-draft-button:focus {
	outline: none !important;
}
.portaldesk-dashboard .portaldesk-inbox-subtab.is-active {
	outline: 2px solid rgba(23, 50, 77, 0.18) !important;
	outline-offset: 2px !important;
}
.portaldesk-form-action-row-top {
	margin-top: 0 !important;
	margin-bottom: 14px !important;
	justify-content: flex-start;
}
.portaldesk-draft-ajax-status {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	font-size: 13px;
	font-weight: 700;
	color: var(--portaldesk-dashboard-text, #1f3348);
}
.portaldesk-draft-ajax-status.is-success {
	color: #166534;
}
.portaldesk-draft-ajax-status.is-error {
	color: #b42318;
}
.portaldesk-save-draft-button.is-saving {
	opacity: 0.72;
	cursor: wait;
}
.portaldesk-save-draft-button,
.portaldesk-save-draft-button:hover,
.portaldesk-save-draft-button:focus {
	filter: none !important;
	transform: none !important;
	box-shadow: none !important;
}

/* Step 7.5 - draft toolbar sits above logo/contact and keeps no-hover behavior */
.portaldesk-form-toolbar {
	margin: 0 0 14px !important;
	padding: 0 !important;
	justify-content: flex-start;
	align-items: center;
}
.portaldesk-form-wrap > .portaldesk-form-toolbar + .portaldesk-form-header {
	margin-top: 0 !important;
}
.portaldesk-form-toolbar .portaldesk-save-draft-button,
.portaldesk-form-toolbar .portaldesk-save-draft-button:hover,
.portaldesk-form-toolbar .portaldesk-save-draft-button:focus {
	background: var(--portaldesk-tool-button-bg, #083b8c) !important;
	border-color: var(--portaldesk-tool-button-border, #083b8c) !important;
	color: var(--portaldesk-tool-button-text, #ffffff) !important;
	font-size: var(--portaldesk-tool-button-size, 14px) !important;
	padding: var(--portaldesk-tool-button-pad-y, 10px) var(--portaldesk-tool-button-pad-x, 14px) !important;
	border-radius: var(--portaldesk-tool-button-radius, 999px) !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
}

/* Step 7.6 - no-refresh dashboard form loading */
.portaldesk-tab-panel.is-loading {
	position: relative;
	min-height: 160px;
}
.portaldesk-form-open-link[data-portaldesk-load-form],
.portaldesk-form-open-link[data-portaldesk-load-form]:hover,
.portaldesk-form-open-link[data-portaldesk-load-form]:focus {
	background: var(--portaldesk-tool-button-bg, #083b8c) !important;
	border: 1px solid var(--portaldesk-tool-button-border, #083b8c) !important;
	color: var(--portaldesk-tool-button-text, #ffffff) !important;
	font-size: var(--portaldesk-tool-button-size, 14px) !important;
	padding: var(--portaldesk-tool-button-pad-y, 10px) var(--portaldesk-tool-button-pad-x, 14px) !important;
	border-radius: var(--portaldesk-tool-button-radius, 999px) !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
}
.portaldesk-dashboard-open-form .portaldesk-form-wrap {
	animation: portaldeskFormLoadFade 0.16s ease-out;
}
@keyframes portaldeskFormLoadFade {
	from { opacity: 0.65; transform: translateY(4px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Step 7.8 - completed dashboard view and new-form toolbar button */
.portaldesk-dashboard .portaldesk-complete-new-form-button,
.portaldesk-dashboard .portaldesk-complete-new-form-button:hover,
.portaldesk-dashboard .portaldesk-complete-new-form-button:focus {
	background: var(--portaldesk-tool-button-bg, #083b8c) !important;
	border: 1px solid var(--portaldesk-tool-button-border, #083b8c) !important;
	color: var(--portaldesk-tool-button-text, #ffffff) !important;
	font-size: var(--portaldesk-tool-button-size, 14px) !important;
	padding: var(--portaldesk-tool-button-pad-y, 10px) var(--portaldesk-tool-button-pad-x, 14px) !important;
	border-radius: var(--portaldesk-tool-button-radius, 999px) !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
	text-decoration: none !important;
}
.portaldesk-dashboard-completed-wrap .portaldesk-completed-status-message {
	margin: 0 0 12px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #166534;
}
.portaldesk-dashboard-completed-entry-view {
	background: #ffffff;
	border-radius: 18px;
	box-shadow: none;
	border: 1px solid #e5eef7;
	padding: 20px;
}
.portaldesk-dashboard-completed-wrap .portaldesk-completed-style-clean_white .portaldesk-completed-display-block {
	box-shadow: none !important;
}
.portaldesk-completed-toolbar {
	margin-bottom: 14px !important;
}

/* Step 7.12 - completed form dropdown and viewer foundation */
.portaldesk-completed-dropdown-control {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.portaldesk-completed-dropdown-control label {
	font-size: 13px;
	font-weight: 800;
	color: var(--portaldesk-dashboard-text, #083b8c);
}
.portaldesk-completed-dropdown-control select {
	min-width: 230px;
	max-width: 100%;
	border: 1px solid #cbd5e1;
	border-radius: var(--portaldesk-tool-button-radius, 12px);
	padding: var(--portaldesk-tool-button-pad-y, 10px) 12px;
	font-size: var(--portaldesk-tool-button-size, 14px);
	background: #ffffff;
	color: #083b8c;
}
.portaldesk-dashboard .portaldesk-view-completed-button,
.portaldesk-dashboard .portaldesk-view-completed-button:hover,
.portaldesk-dashboard .portaldesk-view-completed-button:focus {
	background: var(--portaldesk-tool-button-bg, #083b8c) !important;
	border: 1px solid var(--portaldesk-tool-button-border, #083b8c) !important;
	color: var(--portaldesk-tool-button-text, #ffffff) !important;
	font-size: var(--portaldesk-tool-button-size, 14px) !important;
	padding: var(--portaldesk-tool-button-pad-y, 10px) var(--portaldesk-tool-button-pad-x, 14px) !important;
	border-radius: var(--portaldesk-tool-button-radius, 999px) !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
}
.portaldesk-completed-dropdown-empty {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	font-size: 13px;
	font-weight: 700;
	color: #64748b;
}
.portaldesk-dashboard-completed-wrap .portaldesk-completed-dropdown-control {
	margin-left: 4px;
}
@media (max-width: 780px) {
	.portaldesk-completed-dropdown-control,
	.portaldesk-completed-dropdown-control select,
	.portaldesk-completed-dropdown-control button {
		width: 100%;
	}
}

/* Step 7.13 - New Form repeat rules and independent dashboard/form scrolling */
.portaldesk-repeat-rule-notice {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	font-size: 13px;
	font-weight: 700;
	color: #92400e;
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-radius: 999px;
	padding: 8px 12px;
}
.portaldesk-dashboard.portaldesk-dashboard-full {
	height: 100vh;
	max-height: 100vh;
	overflow: hidden;
}
body.admin-bar .portaldesk-dashboard.portaldesk-dashboard-full {
	height: calc(100vh - 32px);
	max-height: calc(100vh - 32px);
}
.portaldesk-dashboard-full .portaldesk-sidebar {
	overflow-y: auto;
	overflow-x: hidden;
}
.portaldesk-dashboard-full .portaldesk-main {
	overflow: hidden;
	min-height: 0;
}
.portaldesk-dashboard-full .portaldesk-tab-panel.is-active {
	max-height: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	padding-right: 6px;
}
.portaldesk-dashboard-full #portaldesk-forms.is-active,
.portaldesk-dashboard-full .portaldesk-dashboard-open-form.is-active {
	max-height: calc(100vh - 96px);
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
}
body.admin-bar .portaldesk-dashboard-full #portaldesk-forms.is-active,
body.admin-bar .portaldesk-dashboard-full .portaldesk-dashboard-open-form.is-active {
	max-height: calc(100vh - 128px);
}
.portaldesk-dashboard-full #portaldesk-forms.is-active .portaldesk-form-wrap,
.portaldesk-dashboard-full .portaldesk-dashboard-open-form.is-active .portaldesk-form-wrap {
	max-width: min(100%, 8.3in);
}
@media (max-width: 900px) {
	.portaldesk-dashboard.portaldesk-dashboard-full,
	body.admin-bar .portaldesk-dashboard.portaldesk-dashboard-full {
		height: auto;
		max-height: none;
		overflow: visible;
	}
	.portaldesk-dashboard-full .portaldesk-sidebar,
	.portaldesk-dashboard-full .portaldesk-main,
	.portaldesk-dashboard-full .portaldesk-tab-panel.is-active,
	.portaldesk-dashboard-full #portaldesk-forms.is-active,
	.portaldesk-dashboard-full .portaldesk-dashboard-open-form.is-active {
		max-height: none;
		overflow: visible;
	}
}

/* Step 7.14 - brand color, repeat rule enforcement support, and toolbar dropdown layout */
:root {
	--portaldesk-primary: #083b8c;
}
.portaldesk-dashboard {
	--portaldesk-primary: #083b8c;
}
.portaldesk-form-toolbar {
	align-items: stretch !important;
	flex-direction: column !important;
	gap: 10px !important;
}
.portaldesk-toolbar-button-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	width: 100%;
}
.portaldesk-toolbar-dropdown-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding-top: 2px;
}
.portaldesk-toolbar-dropdown-row .portaldesk-completed-dropdown-control {
	width: 100%;
}
.portaldesk-toolbar-dropdown-row .portaldesk-completed-dropdown-control label {
	flex: 0 0 auto;
}
.portaldesk-toolbar-dropdown-row .portaldesk-completed-dropdown-control select {
	flex: 1 1 280px;
}
.portaldesk-toolbar-dropdown-row .portaldesk-completed-dropdown-control button {
	flex: 0 0 auto;
}
.portaldesk-repeat-rule-notice {
	white-space: normal;
}
@media (max-width: 780px) {
	.portaldesk-toolbar-button-row,
	.portaldesk-toolbar-dropdown-row,
	.portaldesk-toolbar-dropdown-row .portaldesk-completed-dropdown-control {
		align-items: stretch;
		flex-direction: column;
	}
	.portaldesk-toolbar-dropdown-row .portaldesk-completed-dropdown-control label,
	.portaldesk-toolbar-dropdown-row .portaldesk-completed-dropdown-control select,
	.portaldesk-toolbar-dropdown-row .portaldesk-completed-dropdown-control button {
		width: 100%;
	}
}

/* Step 7.15 - Forward button foundation and final button color alignment */
.portaldesk-dashboard {
	--portaldesk-tool-button-bg: #083b8c;
	--portaldesk-tool-button-border: #083b8c;
}
.portaldesk-toolbar-button-row .portaldesk-button,
.portaldesk-toolbar-button-row .portaldesk-button:hover,
.portaldesk-toolbar-button-row .portaldesk-button:focus,
.portaldesk-dashboard .portaldesk-forward-button,
.portaldesk-dashboard .portaldesk-forward-button:hover,
.portaldesk-dashboard .portaldesk-forward-button:focus,
.portaldesk-dashboard .portaldesk-forward-submit-button,
.portaldesk-dashboard .portaldesk-forward-submit-button:hover,
.portaldesk-dashboard .portaldesk-forward-submit-button:focus,
.portaldesk-dashboard .portaldesk-forward-cancel-button,
.portaldesk-dashboard .portaldesk-forward-cancel-button:hover,
.portaldesk-dashboard .portaldesk-forward-cancel-button:focus {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 42px !important;
	line-height: 1.2 !important;
	background: #083b8c !important;
	border: 1px solid #083b8c !important;
	color: #ffffff !important;
	font-size: var(--portaldesk-tool-button-size, 14px) !important;
	font-weight: 700 !important;
	padding: var(--portaldesk-tool-button-pad-y, 10px) var(--portaldesk-tool-button-pad-x, 14px) !important;
	border-radius: var(--portaldesk-tool-button-radius, 999px) !important;
	text-decoration: none !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
	cursor: pointer !important;
	appearance: none !important;
}
.portaldesk-form .portaldesk-submit-button,
.portaldesk-form .portaldesk-submit-button:hover,
.portaldesk-form .portaldesk-submit-button:focus {
	background: #083b8c !important;
	border: 1px solid #083b8c !important;
	color: #ffffff !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
	cursor: pointer !important;
}
.portaldesk-toolbar-forward-row {
	width: 100%;
}
.portaldesk-forward-panel {
	width: 100%;
	border: 1px solid #dbe7f3;
	border-radius: 16px;
	background: #ffffff;
	padding: 14px;
}
.portaldesk-forward-panel-inner {
	display: grid;
	gap: 10px;
}
.portaldesk-forward-help {
	margin: 0;
	color: #64748b;
	font-size: 13px;
}
.portaldesk-forward-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr);
}
.portaldesk-forward-grid label {
	display: grid;
	gap: 6px;
	font-weight: 700;
	color: #17324d;
}
.portaldesk-forward-grid select,
.portaldesk-forward-grid textarea {
	width: 100%;
	border: 1px solid #cbd5e1;
	border-radius: 12px;
	padding: 10px 12px;
	font: inherit;
}
.portaldesk-forward-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.portaldesk-forward-status {
	font-size: 13px;
	font-weight: 700;
}
.portaldesk-forward-status.is-success {
	color: #166534;
}
.portaldesk-forward-status.is-error {
	color: #b42318;
}
@media (max-width: 780px) {
	.portaldesk-forward-grid {
		grid-template-columns: 1fr;
	}
}

/* Step 7.16 - harden top toolbar button color and dropdown-management layout */
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row > .portaldesk-button,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row > a.portaldesk-button,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row > button.portaldesk-button,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row > .portaldesk-button:hover,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row > .portaldesk-button:focus,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row > a.portaldesk-button:hover,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row > a.portaldesk-button:focus,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row > button.portaldesk-button:hover,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row > button.portaldesk-button:focus {
	background: #083b8c !important;
	border: 1px solid #083b8c !important;
	color: #ffffff !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
}
.portaldesk-dropdown-label-settings label {
	min-height: 28px;
}

/* Step 7.17 - force top toolbar button color and forwarded inbox rows */
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row .portaldesk-button,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row a.portaldesk-button,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row button.portaldesk-button,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row input.portaldesk-button,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row .portaldesk-button:hover,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row .portaldesk-button:focus,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row a.portaldesk-button:hover,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row a.portaldesk-button:focus,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row button.portaldesk-button:hover,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-toolbar-button-row button.portaldesk-button:focus,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-forward-actions .portaldesk-button,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-forward-actions .portaldesk-button:hover,
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-forward-actions .portaldesk-button:focus,
.portaldesk-dashboard .portaldesk-inbox-action.portaldesk-forwarded-open-button,
.portaldesk-dashboard .portaldesk-inbox-action.portaldesk-forwarded-open-button:hover,
.portaldesk-dashboard .portaldesk-inbox-action.portaldesk-forwarded-open-button:focus {
	background: #083b8c !important;
	background-color: #083b8c !important;
	border-color: #083b8c !important;
	color: #ffffff !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
	text-decoration: none !important;
}
.portaldesk-forwarded-list-row {
	align-items: flex-start;
}
.portaldesk-forwarded-note {
	margin: 6px 0 0;
	font-size: 13px;
	color: #475569;
}
.portaldesk-forwarded-open-button.is-saving {
	opacity: 0.8;
	cursor: wait;
}


/* Step 7.20 - final dashboard tool button color hardening */
body .portaldesk-dashboard a.portaldesk-button.portaldesk-save-draft-button,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-save-draft-button,
body .portaldesk-dashboard a.portaldesk-button.portaldesk-complete-new-form-button,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-complete-new-form-button,
body .portaldesk-dashboard a.portaldesk-button.portaldesk-forward-button,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-forward-button,
body .portaldesk-dashboard .portaldesk-completed-dropdown-control button.portaldesk-button,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-view-completed-button,
body .portaldesk-dashboard input.portaldesk-button.portaldesk-submit-button,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-submit-button,
body .portaldesk-dashboard .portaldesk-inbox-action,
body .portaldesk-dashboard .portaldesk-inbox-action:visited {
	background: #083b8c !important;
	background-color: #083b8c !important;
	border: 1px solid #083b8c !important;
	border-color: #083b8c !important;
	color: #ffffff !important;
	box-shadow: none !important;
	filter: none !important;
	text-shadow: none !important;
	background-image: none !important;
}
body .portaldesk-dashboard a.portaldesk-button.portaldesk-save-draft-button:hover,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-save-draft-button:hover,
body .portaldesk-dashboard a.portaldesk-button.portaldesk-complete-new-form-button:hover,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-complete-new-form-button:hover,
body .portaldesk-dashboard a.portaldesk-button.portaldesk-forward-button:hover,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-forward-button:hover,
body .portaldesk-dashboard .portaldesk-completed-dropdown-control button.portaldesk-button:hover,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-view-completed-button:hover,
body .portaldesk-dashboard input.portaldesk-button.portaldesk-submit-button:hover,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-submit-button:hover,
body .portaldesk-dashboard .portaldesk-inbox-action:hover,
body .portaldesk-dashboard a.portaldesk-button.portaldesk-save-draft-button:focus,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-save-draft-button:focus,
body .portaldesk-dashboard a.portaldesk-button.portaldesk-complete-new-form-button:focus,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-complete-new-form-button:focus,
body .portaldesk-dashboard a.portaldesk-button.portaldesk-forward-button:focus,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-forward-button:focus,
body .portaldesk-dashboard .portaldesk-completed-dropdown-control button.portaldesk-button:focus,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-view-completed-button:focus,
body .portaldesk-dashboard input.portaldesk-button.portaldesk-submit-button:focus,
body .portaldesk-dashboard button.portaldesk-button.portaldesk-submit-button:focus,
body .portaldesk-dashboard .portaldesk-inbox-action:focus {
	background: #083b8c !important;
	background-color: #083b8c !important;
	border-color: #083b8c !important;
	color: #ffffff !important;
	box-shadow: none !important;
	filter: none !important;
	background-image: none !important;
}

/* Step 7.21 - Inbox bulk remove controls */
.portaldesk-inbox-bulk-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0 0 12px;
	padding: 10px 12px;
	border: 1px solid rgba(8, 59, 140, 0.14);
	border-radius: 12px;
	background: #f8fbff;
}
.portaldesk-inbox-select {
	display: flex;
	align-items: center;
	margin-right: 10px;
}
.portaldesk-inbox-bulk-status {
	font-size: 12px;
	font-weight: 700;
	color: #1f3d63;
}
body .portaldesk-dashboard .portaldesk-inbox-remove-button,
body .portaldesk-dashboard .portaldesk-inbox-remove-button:hover,
body .portaldesk-dashboard .portaldesk-inbox-remove-button:focus {
	background: #083b8c !important;
	border-color: #083b8c !important;
	color: #ffffff !important;
	box-shadow: none !important;
}


/* Step 7.24 signature routing and workflow history */
.portaldesk-workflow-badge,
.portaldesk-workflow-status-pill {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	background: #083b8c;
	color: #fff;
	padding: 3px 9px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	margin-right: 6px;
}
.portaldesk-workflow-history-panel {
	background: #fff;
	border: 1px solid rgba(8, 59, 140, 0.16);
	border-radius: 14px;
	padding: 14px 16px;
	margin: 0 0 16px;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}
.portaldesk-workflow-history-header {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.portaldesk-workflow-history-details {
	margin-top: 10px;
}
.portaldesk-workflow-history-details summary {
	cursor: pointer;
	font-weight: 700;
	color: #083b8c;
}
.portaldesk-workflow-history-details ul {
	margin: 10px 0 0 0;
	padding-left: 18px;
}
.portaldesk-workflow-history-details li {
	margin: 6px 0;
}
.portaldesk-workflow-history-details li span {
	font-weight: 700;
	color: #475569;
}

/* Step 7.25 - modern toolbar and inbox action buttons */
.portaldesk-dashboard .portaldesk-form-toolbar {
	background: #ffffff;
	border: 1px solid rgba(8, 59, 140, 0.12);
	border-radius: 18px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
	padding: 14px 16px;
	gap: 12px;
}
.portaldesk-dashboard .portaldesk-toolbar-button-row,
.portaldesk-dashboard .portaldesk-inbox-bulk-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-button,
.portaldesk-dashboard .portaldesk-inbox-bulk-actions .portaldesk-button,
.portaldesk-dashboard .portaldesk-delete-entry-button {
	background: #083b8c !important;
	border: 1px solid #083b8c !important;
	border-radius: 999px !important;
	box-shadow: 0 8px 18px rgba(8, 59, 140, 0.18);
	color: #ffffff !important;
	font-weight: 700;
	min-height: 38px;
	padding: 9px 18px !important;
	text-decoration: none !important;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.portaldesk-dashboard .portaldesk-form-toolbar .portaldesk-button:hover,
.portaldesk-dashboard .portaldesk-inbox-bulk-actions .portaldesk-button:hover,
.portaldesk-dashboard .portaldesk-delete-entry-button:hover {
	background: #062f70 !important;
	box-shadow: 0 10px 22px rgba(8, 59, 140, 0.24);
	transform: translateY(-1px);
}
.portaldesk-dashboard .portaldesk-delete-entry-button,
.portaldesk-dashboard [data-portaldesk-remove-selected] {
	background: #7f1d1d !important;
	border-color: #7f1d1d !important;
}
.portaldesk-dashboard .portaldesk-delete-entry-button:hover,
.portaldesk-dashboard [data-portaldesk-remove-selected]:hover {
	background: #641414 !important;
}
.portaldesk-dashboard .portaldesk-toolbar-dropdown-row {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 10px 12px;
}


/* Step 7.34 inbox and toolbar polish */
.portaldesk-inbox-bulk-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#f8fafc;border:1px solid #dbe3ee;border-radius:14px;padding:12px;margin:0 0 14px;}
.portaldesk-inbox-forward-message{min-width:260px;max-width:420px;border:1px solid #c8d3e1;border-radius:10px;padding:8px 10px;}
.portaldesk-inbox-remove-button,.portaldesk-delete-completed-entry-button,[data-portaldesk-remove-selected]{background:#b91c1c!important;border-color:#991b1b!important;color:#fff!important;box-shadow:none!important;}
.portaldesk-inbox-remove-button:hover,.portaldesk-delete-completed-entry-button:hover,[data-portaldesk-remove-selected]:hover{background:#991b1b!important;color:#fff!important;}
.portaldesk-display-toolbar .portaldesk-button,.portaldesk-dashboard-completed-tools .portaldesk-button,.portaldesk-completed-dropdown-toolbar .portaldesk-button{background:#062f70!important;border-color:#06275c!important;color:#fff!important;box-shadow:0 8px 18px rgba(6,47,112,.18);}
.portaldesk-display-toolbar .portaldesk-button:hover,.portaldesk-dashboard-completed-tools .portaldesk-button:hover,.portaldesk-completed-dropdown-toolbar .portaldesk-button:hover{background:#041f4d!important;color:#fff!important;}
.portaldesk-repeating-dropdown-duration{display:grid;gap:10px;}
.portaldesk-repeating-duration-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px auto;gap:8px;align-items:center;}
.portaldesk-repeating-duration-total{display:flex;gap:10px;align-items:center;font-weight:700;}
.portaldesk-repeating-duration-total input{max-width:140px;background:#f8fafc;}
@media(max-width:700px){.portaldesk-repeating-duration-row{grid-template-columns:1fr}.portaldesk-inbox-forward-message{width:100%;max-width:none}}


/* Step 7.41.1 - Inbox action layout polish */
.portaldesk-dashboard .portaldesk-inbox-bulk-actions {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}
.portaldesk-dashboard .portaldesk-inbox-bulk-actions label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}
.portaldesk-dashboard .portaldesk-inbox-forward-user {
	min-width: 190px;
	max-width: 260px;
}
.portaldesk-dashboard .portaldesk-inbox-forward-message {
	min-height: 38px;
	height: 38px;
	resize: vertical;
	flex: 1 1 260px;
}
.portaldesk-dashboard .portaldesk-inbox-forward-selected-button,
.portaldesk-dashboard .portaldesk-inbox-remove-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	white-space: nowrap !important;
	margin: 0 !important;
}
.portaldesk-dashboard .portaldesk-inbox-list-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
}
.portaldesk-dashboard .portaldesk-inbox-list-row .portaldesk-inbox-action {
	justify-self: end;
	white-space: nowrap;
}
@media (max-width: 760px) {
	.portaldesk-dashboard .portaldesk-inbox-bulk-actions {
		align-items: stretch !important;
	}
	.portaldesk-dashboard .portaldesk-inbox-bulk-actions .portaldesk-button,
	.portaldesk-dashboard .portaldesk-inbox-forward-user,
	.portaldesk-dashboard .portaldesk-inbox-forward-message {
		width: auto;
		max-width: 100%;
	}
	.portaldesk-dashboard .portaldesk-inbox-list-row {
		grid-template-columns: auto minmax(0, 1fr);
	}
	.portaldesk-dashboard .portaldesk-inbox-list-row .portaldesk-inbox-action {
		grid-column: 2;
		justify-self: start;
	}
}

/* Step 7.42 Lock / Unlock foundation */
.portaldesk-entry-lock-panel{margin:14px 0;padding:12px 14px;border-radius:12px;border:1px solid #d7e3f0;background:#f8fafc;display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#1f2937;}
.portaldesk-entry-lock-panel strong{font-size:14px;}
.portaldesk-entry-lock-panel span{font-size:13px;}
.portaldesk-entry-lock-panel small{display:block;width:100%;color:#52616f;}
.portaldesk-entry-lock-panel.is-locked{border-color:#f59e0b;background:#fff7ed;}
.portaldesk-entry-lock-panel.is-unlocked{border-color:#bfdbfe;background:#eff6ff;}
.portaldesk-lock-entry-button.is-locked{background:#7c2d12!important;border-color:#7c2d12!important;color:#fff!important;}
.portaldesk-lock-entry-button.is-unlocked{background:#1f2937!important;border-color:#111827!important;color:#fff!important;}

.portaldesk-lock-unlock-modal[hidden]{display:none!important;}
.portaldesk-lock-unlock-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;}
.portaldesk-lock-unlock-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);}
.portaldesk-lock-unlock-dialog{position:relative;background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(15,23,42,.25);width:min(520px,100%);padding:22px;display:grid;gap:14px;}
.portaldesk-lock-unlock-dialog h3{margin:0;color:#0f172a;font-size:20px;}
.portaldesk-lock-unlock-dialog label{display:grid;gap:6px;color:#1f2937;}
.portaldesk-lock-unlock-dialog input,.portaldesk-lock-unlock-dialog textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:14px;}
.portaldesk-lock-unlock-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.portaldesk-lock-unlock-error{color:#b91c1c;font-weight:700;min-height:18px;}

/* Step 7.43 addendum foundation */
.portaldesk-addendum-panel{margin-top:14px;padding:16px;border:1px solid #d9e2ec;border-radius:12px;background:#f8fafc;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.portaldesk-addendum-panel label{display:block;margin:10px 0}.portaldesk-addendum-panel input[type=text],.portaldesk-addendum-panel textarea{width:100%;box-sizing:border-box}.portaldesk-addendum-actions{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}.portaldesk-addendum-status{margin-top:8px;font-weight:600}.portaldesk-entry-addendums{margin-top:18px}.portaldesk-entry-addendum{border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:14px;margin:12px 0}.portaldesk-entry-addendum-header{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #edf2f7;padding-bottom:8px;margin-bottom:8px}.portaldesk-entry-addendum-meta{font-size:13px;color:#52616f;margin-bottom:8px}.portaldesk-entry-addendum-body{line-height:1.5}.portaldesk-addendum-signature-line{display:flex!important;gap:8px;align-items:center}

/* Step 7.43.10 - default Label / Question font */
.portaldesk-form-field > label,
.portaldesk-completed-label,
.portaldesk-html-field-title,
.portaldesk-read-only-title,
.portaldesk-image-field-title {
	font-family: "Times New Roman", Times, serif;
}

/* Step 7.43.10 - preserve builder columns in HTML print view */
.portaldesk-print-page .portaldesk-completed-form-grid {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	gap: 12px !important;
	align-items: start !important;
}
.portaldesk-print-page .portaldesk-form-width-full { grid-column: span 12 !important; }
.portaldesk-print-page .portaldesk-form-width-half { grid-column: span 6 !important; }
.portaldesk-print-page .portaldesk-form-width-third { grid-column: span 4 !important; }
.portaldesk-print-page .portaldesk-form-width-quarter { grid-column: span 3 !important; }
.portaldesk-print-page .portaldesk-completed-field,
.portaldesk-print-page .portaldesk-completed-display-block {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	box-sizing: border-box !important;
	break-inside: avoid !important;
	page-break-inside: avoid !important;
}

@media print {
	.portaldesk-print-page .portaldesk-completed-form-grid {
		display: grid !important;
		grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
		gap: 10px !important;
		align-items: start !important;
	}
	.portaldesk-print-page .portaldesk-form-width-full { grid-column: span 12 !important; }
	.portaldesk-print-page .portaldesk-form-width-half { grid-column: span 6 !important; }
	.portaldesk-print-page .portaldesk-form-width-third { grid-column: span 4 !important; }
	.portaldesk-print-page .portaldesk-form-width-quarter { grid-column: span 3 !important; }
}


/* Step 7.44A Clean Dashboard App Mode */
html:has(body.portaldesk-app-mode),
body.portaldesk-app-mode,
body.portaldesk-app-shell {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	min-height: 100% !important;
	background: var(--portaldesk-dashboard-bg, #f4f7fb) !important;
	overflow-x: hidden;
}

body.portaldesk-app-mode #wpadminbar,
body.portaldesk-app-shell #wpadminbar {
	display: none !important;
}

.portaldesk-app-root {
	width: 100%;
	min-height: 100vh;
	background: var(--portaldesk-dashboard-bg, #f4f7fb);
}

body.portaldesk-app-mode .portaldesk-dashboard.portaldesk-dashboard-full,
body.portaldesk-app-shell .portaldesk-dashboard.portaldesk-dashboard-full {
	width: 100% !important;
	min-height: 100vh !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
}

body.portaldesk-app-mode .portaldesk-dashboard-topbar,
body.portaldesk-app-shell .portaldesk-dashboard-topbar {
	position: sticky;
	top: 0;
	z-index: 30;
}

/* Step 7.46 Reports Manager dashboard output */
.portaldesk-report-block{margin:18px 0;padding:18px;border:1px solid rgba(15,23,42,.12);border-radius:14px;background:#fff;}
.portaldesk-report-table-wrap{overflow-x:auto;}
.portaldesk-report-table{width:100%;border-collapse:collapse;min-width:720px;}
.portaldesk-report-table th,.portaldesk-report-table td{border:1px solid rgba(15,23,42,.14);padding:10px 12px;text-align:left;vertical-align:top;}
.portaldesk-report-table th{font-weight:700;background:rgba(15,23,42,.04);}

/* Step 7.46.1 - Dashboard report filters */
.portaldesk-report-filter-form {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: end;
	padding: 14px;
	margin: 0 0 16px;
	background: #f8fafc;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 14px;
}
.portaldesk-report-filter-form label {
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-weight: 700;
	font-size: 13px;
}
.portaldesk-report-filter-form input,
.portaldesk-report-filter-form select {
	min-width: 170px;
	padding: 8px 10px;
	border: 1px solid rgba(15, 23, 42, 0.18);
	border-radius: 10px;
	background: #fff;
}
.portaldesk-report-table-wrap {
	overflow-x: auto;
}
.portaldesk-report-table {
	width: 100%;
	border-collapse: collapse;
}
.portaldesk-report-table th,
.portaldesk-report-table td {
	padding: 10px 12px;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
	text-align: left;
	vertical-align: top;
}
.portaldesk-report-table th {
	font-weight: 800;
	background: #f8fafc;
}

/* Step 7.47.1 - modern dashboard report filters */
.portaldesk-report-block {
  border: 1px solid rgba(8, 59, 140, .12);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}
.portaldesk-report-heading-row h3 {
  margin-top: 0;
  color: var(--portaldesk-dashboard-heading, #102a43);
}
.portaldesk-report-filter-form {
  background: linear-gradient(180deg, rgba(8,59,140,.05), rgba(255,255,255,.9));
  border: 1px solid rgba(8, 59, 140, .12);
  border-radius: 16px;
  padding: 16px;
  margin: 12px 0 18px;
}
.portaldesk-report-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  align-items: start;
}
.portaldesk-report-filter-grid label,
.portaldesk-report-status-filter {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 0;
  font-weight: 700;
  color: var(--portaldesk-dashboard-heading, #102a43);
}
.portaldesk-report-filter-grid input:not([type="checkbox"]),
.portaldesk-report-filter-grid select {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(15,23,42,.16);
  border-radius: 12px;
  background: #fff;
  padding: 8px 11px;
  color: var(--portaldesk-dashboard-text, #1f3348);
}
.portaldesk-report-entry-filter span,
.portaldesk-report-status-select-all,
.portaldesk-report-status-options label {
  flex-direction: row !important;
  align-items: center;
  font-weight: 600;
}
.portaldesk-report-status-filter {
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 14px;
  padding: 12px;
  grid-column: 1 / -1;
  background: rgba(255,255,255,.8);
}
.portaldesk-report-status-filter legend {
  font-weight: 800;
  padding: 0 6px;
}
.portaldesk-report-status-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px 12px;
}
.portaldesk-report-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.portaldesk-report-run-button,
.portaldesk-report-clear-button {
  background: var(--portaldesk-report-button-bg, var(--portaldesk-tool-button-bg, #083b8c)) !important;
  border-color: var(--portaldesk-report-button-border, var(--portaldesk-tool-button-border, #083b8c)) !important;
  color: var(--portaldesk-report-button-text, var(--portaldesk-tool-button-text, #ffffff)) !important;
  box-shadow: 0 8px 18px rgba(8,59,140,.18);
}
.portaldesk-report-clear-button {
  opacity: .88;
}

/* Step 7.47.2 report filters cleanup */
.portaldesk-report-filter-form-modern {
  background: linear-gradient(180deg, rgba(8,59,140,.045), rgba(255,255,255,.96));
  border: 1px solid rgba(8,59,140,.14);
  border-radius: 18px;
  padding: 16px;
}
.portaldesk-report-filter-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
}
.portaldesk-report-filter-dropdown {
  position: relative;
  min-width: 185px;
  border: 1px solid rgba(8,59,140,.16);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(15,23,42,.06);
}
.portaldesk-report-filter-dropdown summary {
  cursor: pointer;
  list-style: none;
  padding: 11px 14px;
  font-weight: 800;
  color: var(--portaldesk-dashboard-heading, #102a43);
}
.portaldesk-report-filter-dropdown summary::-webkit-details-marker { display: none; }
.portaldesk-report-filter-dropdown summary:after {
  content: "▾";
  float: right;
  color: var(--portaldesk-report-button-bg, #083b8c);
}
.portaldesk-report-filter-dropdown[open] summary:after { content: "▴"; }
.portaldesk-report-filter-dropdown-body {
  border-top: 1px solid rgba(8,59,140,.10);
  padding: 12px;
  display: grid;
  gap: 10px;
  min-width: 220px;
}
.portaldesk-report-filter-dropdown-body label {
  display: grid;
  gap: 6px;
  font-weight: 700;
  color: var(--portaldesk-dashboard-heading, #102a43);
}
.portaldesk-report-filter-dropdown-body input:not([type="checkbox"]),
.portaldesk-report-filter-dropdown-body select {
  width: 100%;
  min-height: 40px;
  border: 1px solid rgba(15,23,42,.16);
  border-radius: 11px;
  background: #fff;
  padding: 8px 10px;
  color: var(--portaldesk-dashboard-text, #1f3348);
}
.portaldesk-report-check-line {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 8px !important;
  font-weight: 650 !important;
}
.portaldesk-report-checkbox-list {
  max-height: 260px;
  overflow: auto;
}
.portaldesk-report-table-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid rgba(8,59,140,.12);
}
.portaldesk-report-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}
.portaldesk-report-table th {
  background: rgba(8,59,140,.08);
  color: var(--portaldesk-dashboard-heading, #102a43);
  text-align: left;
  font-weight: 800;
}
.portaldesk-report-table th,
.portaldesk-report-table td {
  padding: 11px 12px;
  border-bottom: 1px solid rgba(15,23,42,.08);
  vertical-align: top;
}

/* Step 7.47.3 report filter polish */
.portaldesk-report-filter-dropdown-wide {
  min-width: 245px;
}
.portaldesk-report-checkbox-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px 10px !important;
  min-width: 360px;
  max-width: 620px;
}
.portaldesk-report-checkbox-grid .portaldesk-report-check-line {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 8px !important;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid rgba(8,59,140,.12);
  border-radius: 11px;
  background: rgba(8,59,140,.035);
  line-height: 1.25;
  white-space: normal;
}
.portaldesk-report-checkbox-grid .portaldesk-report-check-line input[type="checkbox"] {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 0;
}
.portaldesk-report-checkbox-grid .portaldesk-report-check-line span {
  display: inline-block;
  min-width: 0;
  overflow-wrap: anywhere;
}
.portaldesk-report-check-line-all {
  background: rgba(8,59,140,.08) !important;
  font-weight: 800 !important;
}
@media (max-width: 700px) {
  .portaldesk-report-checkbox-grid {
    min-width: 240px;
    grid-template-columns: 1fr;
  }
}


/* Step 7.47.4 report filter list layout repair */
.portaldesk-report-filter-dropdown-wide {
  min-width: 280px;
  max-width: 360px;
}
.portaldesk-report-checkbox-grid,
.portaldesk-report-filter-dropdown-body.portaldesk-report-checkbox-grid {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 8px !important;
  min-width: 260px !important;
  max-width: 340px !important;
  overflow-x: hidden !important;
}
.portaldesk-report-checkbox-grid .portaldesk-report-check-line,
.portaldesk-report-filter-dropdown-body .portaldesk-report-check-line {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 38px;
  padding: 9px 11px !important;
  border: 1px solid rgba(8,59,140,.12);
  border-radius: 10px;
  background: rgba(8,59,140,.025);
  text-align: left !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
.portaldesk-report-checkbox-grid .portaldesk-report-check-line input[type="checkbox"],
.portaldesk-report-filter-dropdown-body .portaldesk-report-check-line input[type="checkbox"] {
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  position: static !important;
}
.portaldesk-report-checkbox-grid .portaldesk-report-check-line span,
.portaldesk-report-filter-dropdown-body .portaldesk-report-check-line span {
  flex: 1 1 auto !important;
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.portaldesk-report-filter-dropdown-body {
  overflow-x: hidden;
}

/* Step 7.47.5 report filter compact one-line list */
.portaldesk-report-filter-dropdown-wide {
  min-width: 360px !important;
  max-width: 460px !important;
}
.portaldesk-report-filter-dropdown-body.portaldesk-report-checkbox-grid,
.portaldesk-report-checkbox-grid {
  min-width: 340px !important;
  max-width: 440px !important;
  padding: 8px 10px !important;
  gap: 4px !important;
}
.portaldesk-report-checkbox-grid .portaldesk-report-check-line,
.portaldesk-report-filter-dropdown-body .portaldesk-report-check-line {
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 30px !important;
  padding: 5px 4px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.portaldesk-report-checkbox-grid .portaldesk-report-check-line:hover,
.portaldesk-report-filter-dropdown-body .portaldesk-report-check-line:hover {
  background: rgba(8,59,140,.055) !important;
}
.portaldesk-report-checkbox-grid .portaldesk-report-check-line input[type="checkbox"],
.portaldesk-report-filter-dropdown-body .portaldesk-report-check-line input[type="checkbox"] {
  flex: 0 0 16px !important;
  margin: 0 !important;
}
.portaldesk-report-checkbox-grid .portaldesk-report-check-line span,
.portaldesk-report-filter-dropdown-body .portaldesk-report-check-line span {
  flex: 0 1 auto !important;
  display: inline-block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: calc(100% - 28px) !important;
}
.portaldesk-report-check-line-all {
  font-weight: 800 !important;
}
@media (max-width: 700px) {
  .portaldesk-report-filter-dropdown-wide {
    min-width: 260px !important;
    max-width: 100% !important;
  }
  .portaldesk-report-filter-dropdown-body.portaldesk-report-checkbox-grid,
  .portaldesk-report-checkbox-grid {
    min-width: 240px !important;
    max-width: 100% !important;
  }
}

/* Step 7.47.6 report checkbox spacing repair */
.portaldesk-report-filter-form input[type="checkbox"],
.portaldesk-report-filter-form-modern input[type="checkbox"],
.portaldesk-report-filter-dropdown-body input[type="checkbox"],
.portaldesk-report-checkbox-grid input[type="checkbox"],
.portaldesk-report-check-line input[type="checkbox"] {
  min-width: 0 !important;
  width: 16px !important;
  height: 16px !important;
  padding: 0 !important;
  margin: 0 7px 0 0 !important;
  flex: 0 0 16px !important;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
}
.portaldesk-report-filter-dropdown-body .portaldesk-report-check-line,
.portaldesk-report-checkbox-grid .portaldesk-report-check-line,
.portaldesk-report-filter-form label.portaldesk-report-check-line {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  column-gap: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 4px !important;
  margin: 0 !important;
}
.portaldesk-report-filter-dropdown-body .portaldesk-report-check-line span,
.portaldesk-report-checkbox-grid .portaldesk-report-check-line span,
.portaldesk-report-filter-form label.portaldesk-report-check-line span {
  flex: 0 1 auto !important;
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
}
.portaldesk-report-filter-dropdown-body.portaldesk-report-checkbox-grid,
.portaldesk-report-checkbox-grid {
  align-items: flex-start !important;
  justify-items: start !important;
  overflow-x: visible !important;
}
.portaldesk-report-filter-dropdown-body.portaldesk-report-checkbox-list {
  overflow-x: visible !important;
}

/* Step 7.47.7 report filter compact spacing cleanup */
.portaldesk-report-filter-toolbar {
  align-items: flex-start !important;
  gap: 10px 12px !important;
}
.portaldesk-report-filter-dropdown.portaldesk-report-filter-dropdown-wide {
  min-width: 285px !important;
  width: auto !important;
  max-width: 345px !important;
}
.portaldesk-report-filter-dropdown-body.portaldesk-report-checkbox-grid,
.portaldesk-report-filter-dropdown-body.portaldesk-report-checkbox-list,
.portaldesk-report-checkbox-grid {
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 7px 10px 8px 10px !important;
}
.portaldesk-report-filter-dropdown-body .portaldesk-report-check-line,
.portaldesk-report-checkbox-grid .portaldesk-report-check-line,
.portaldesk-report-filter-form label.portaldesk-report-check-line {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 26px !important;
  line-height: 1.25 !important;
  padding: 3px 5px 3px 2px !important;
  margin: 0 !important;
  gap: 4px !important;
  column-gap: 4px !important;
  border-radius: 5px !important;
}
.portaldesk-report-filter-dropdown-body .portaldesk-report-check-line input[type="checkbox"],
.portaldesk-report-checkbox-grid .portaldesk-report-check-line input[type="checkbox"],
.portaldesk-report-filter-form label.portaldesk-report-check-line input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
  margin: 0 !important;
}
.portaldesk-report-filter-dropdown-body .portaldesk-report-check-line span,
.portaldesk-report-checkbox-grid .portaldesk-report-check-line span,
.portaldesk-report-filter-form label.portaldesk-report-check-line span {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
}
.portaldesk-report-filter-dropdown-body.portaldesk-report-checkbox-grid {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 2px !important;
}
.portaldesk-report-filter-dropdown-wide summary {
  padding-right: 30px !important;
}
@media (max-width: 700px) {
  .portaldesk-report-filter-dropdown.portaldesk-report-filter-dropdown-wide {
    min-width: 240px !important;
    max-width: 100% !important;
  }
}

/* Step 7.49 Conditional Logic & Dynamic Forms */
.portaldesk-form-field[data-portaldesk-visible="no"],
.portaldesk-form-section-heading[data-portaldesk-visible="no"] {
	display: none !important;
}
.portaldesk-form-field[data-portaldesk-logic],
.portaldesk-form-section-heading[data-portaldesk-logic] {
	transition: opacity .15s ease, transform .15s ease;
}

/* Step 7.49.3 Conditional Logic Frontend Enforcement */
.portaldesk-logic-hidden {
    display: none !important;
}

/* Step 7.49.9 - Completed/draft bulk PDF popup */
.portaldesk-open-bulk-pdf-modal {
    margin-left: 8px;
    white-space: nowrap;
}
.portaldesk-bulk-pdf-modal[hidden] {
    display: none !important;
}
.portaldesk-bulk-pdf-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.portaldesk-bulk-pdf-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 20, 44, 0.52);
    backdrop-filter: blur(2px);
}
.portaldesk-bulk-pdf-modal-dialog {
    position: relative;
    width: min(720px, calc(100vw - 36px));
    max-height: min(760px, calc(100vh - 36px));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(8, 59, 140, 0.18);
    box-shadow: 0 24px 70px rgba(8, 32, 72, 0.28);
}
.portaldesk-bulk-pdf-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px 16px;
    border-bottom: 1px solid rgba(8, 59, 140, 0.12);
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
}
.portaldesk-bulk-pdf-modal-header strong {
    display: block;
    color: #062b5f;
    font-size: 18px;
    line-height: 1.25;
}
.portaldesk-bulk-pdf-modal-header span {
    display: block;
    margin-top: 4px;
    color: #52677f;
    font-size: 13px;
}
.portaldesk-bulk-pdf-modal-close {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: rgba(8, 59, 140, 0.08);
    color: #083b8c;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}
.portaldesk-bulk-pdf-modal-close:hover {
    background: rgba(8, 59, 140, 0.16);
}
.portaldesk-bulk-pdf-form {
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin: 0;
    padding: 0;
}
.portaldesk-bulk-pdf-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 22px;
    color: #143252;
    border-bottom: 1px solid rgba(8, 59, 140, 0.1);
}
.portaldesk-bulk-pdf-toolbar label,
.portaldesk-bulk-pdf-list label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    cursor: pointer;
}
.portaldesk-bulk-pdf-toolbar input[type="checkbox"],
.portaldesk-bulk-pdf-list input[type="checkbox"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 0;
}
.portaldesk-bulk-pdf-toolbar span[data-portaldesk-bulk-pdf-count] {
    color: #52677f;
    font-size: 13px;
    font-weight: 700;
}
.portaldesk-bulk-pdf-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 160px;
    max-height: 430px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px 14px;
}
.portaldesk-bulk-pdf-list label {
    min-height: 38px;
    padding: 8px 10px;
    border-radius: 10px;
    color: #17324f;
    font-size: 13px;
    line-height: 1.25;
    transition: background .15s ease, color .15s ease;
}
.portaldesk-bulk-pdf-list label:hover {
    background: rgba(8, 59, 140, 0.07);
}
.portaldesk-bulk-pdf-list span {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.portaldesk-bulk-pdf-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 22px 20px;
    border-top: 1px solid rgba(8, 59, 140, 0.12);
    background: #f8fbff;
}
.portaldesk-bulk-pdf-button {
    justify-content: center;
}
.portaldesk-modal-open {
    overflow: hidden;
}
@media (max-width: 700px) {
    .portaldesk-bulk-pdf-modal {
        padding: 12px;
    }
    .portaldesk-bulk-pdf-modal-dialog {
        width: calc(100vw - 24px);
    }
    .portaldesk-bulk-pdf-modal-actions {
        flex-direction: column-reverse;
    }
    .portaldesk-bulk-pdf-modal-actions .portaldesk-button {
        width: 100%;
        justify-content: center;
    }
}

/* Step 7.49.11 - Saved Draft locked mode and status banner */
.portaldesk-draft-status-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 1px solid rgba(8, 59, 140, 0.22);
    border-left: 5px solid var(--portaldesk-tool-button-bg, #083b8c);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(8, 59, 140, 0.08), rgba(255,255,255,0.95));
    color: #0b1f3a;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}
.portaldesk-draft-status-banner strong {
    font-weight: 800;
    color: #082b63;
}
.portaldesk-draft-status-banner span {
    flex: 1 1 260px;
    font-weight: 600;
}
.portaldesk-draft-readonly-mode form.portaldesk-form {
    position: relative;
}
.portaldesk-draft-readonly-mode form.portaldesk-form::after {
    content: "Saved as Draft - click Edit Draft to make changes";
    display: block;
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(8, 59, 140, 0.08);
    color: #082b63;
    font-weight: 700;
    text-align: center;
}
.portaldesk-draft-readonly-mode .portaldesk-field,
.portaldesk-draft-readonly-mode .portaldesk-field-block,
.portaldesk-draft-readonly-mode .portaldesk-form-grid > * {
    opacity: 0.84;
}
.portaldesk-draft-readonly-mode input:disabled,
.portaldesk-draft-readonly-mode textarea:disabled,
.portaldesk-draft-readonly-mode select:disabled,
.portaldesk-draft-readonly-mode button:disabled {
    cursor: not-allowed;
}

/* Step 7.50 Time & Attendance Manager */
.portaldesk-time-attendance-panel .portaldesk-time-widget{
	background:#fff;
	border:1px solid rgba(8,59,140,.12);
	border-radius:18px;
	padding:24px;
	box-shadow:0 12px 30px rgba(16,42,67,.08);
}
.portaldesk-time-status-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px;}
.portaldesk-time-status-row h3{margin:4px 0 0;}
.portaldesk-time-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:8px 14px;font-weight:700;font-size:13px;background:#eef4ff;color:#083b8c;white-space:nowrap;}
.portaldesk-time-status-clocked_in{background:#e7f8ef;color:#137333;}
.portaldesk-time-status-on_break{background:#fff7e6;color:#9a5a00;}
.portaldesk-time-status-clocked_out{background:#edf2f7;color:#334e68;}
.portaldesk-time-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:14px;margin:18px 0;}
.portaldesk-time-summary-grid div{background:#f8fbff;border:1px solid rgba(8,59,140,.10);border-radius:14px;padding:14px;}
.portaldesk-time-summary-grid span{display:block;font-size:12px;font-weight:700;color:#627d98;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;}
.portaldesk-time-summary-grid strong{display:block;color:#102a43;font-size:18px;}
.portaldesk-time-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.portaldesk-time-actions .portaldesk-submit-button[disabled]{opacity:.45;cursor:not-allowed;}
.portaldesk-time-message{margin-top:12px;font-weight:700;color:#083b8c;}
@media (max-width: 900px){.portaldesk-time-summary-grid{grid-template-columns:repeat(2,minmax(140px,1fr));}}
@media (max-width: 560px){.portaldesk-time-status-row{display:block}.portaldesk-time-summary-grid{grid-template-columns:1fr}.portaldesk-time-actions .portaldesk-submit-button{width:100%;}}

/* Step 7.50.2 - Time & Attendance AJAX + Employee History */
.portaldesk-time-history-panel{
    margin-top:18px;
    padding:16px;
    border:1px solid rgba(8,59,140,.14);
    border-radius:16px;
    background:#f8fbff;
}
.portaldesk-time-history-header{
    display:flex;
    flex-wrap:wrap;
    align-items:end;
    gap:12px;
    margin-bottom:12px;
}
.portaldesk-time-history-header h4{
    margin:0 12px 0 0;
    color:#102a43;
    font-size:16px;
}
.portaldesk-time-history-header label{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:8px;
    font-weight:700;
    color:#243b53;
    font-size:13px;
    white-space:nowrap;
}
.portaldesk-time-history-header input[type="date"]{
    border:1px solid #cbd5e1;
    border-radius:10px;
    padding:8px 10px;
    min-width:165px;
}
.portaldesk-time-history-date-label{
    font-weight:700;
    margin:0 0 8px;
    color:#083b8c;
}
.portaldesk-time-history-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
}
.portaldesk-time-history-table th,
.portaldesk-time-history-table td{
    padding:9px 10px;
    border-bottom:1px solid #e5edf6;
    text-align:left;
    font-size:13px;
}
.portaldesk-time-history-table th{
    background:#eef5ff;
    color:#102a43;
    font-weight:800;
}

/* Step 7.50.3 - Time & Attendance workflow/UI polish */
.portaldesk-time-summary-grid-expanded{
    grid-template-columns: repeat(3, minmax(145px, 1fr));
    max-width:780px;
}
.portaldesk-time-actions-grouped{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    max-width:560px;
}
.portaldesk-time-action-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.portaldesk-time-actions .portaldesk-submit-button{
    min-height:44px;
    border:0;
    box-shadow:0 8px 18px rgba(16,42,67,.12);
}
.portaldesk-time-btn-clock-in{background:#188038!important;color:#fff!important;}
.portaldesk-time-btn-clock-out{background:#b42318!important;color:#fff!important;}
.portaldesk-time-btn-start-break{background:#f59e0b!important;color:#102a43!important;}
.portaldesk-time-btn-end-break{background:#083b8c!important;color:#fff!important;}
.portaldesk-time-actions .portaldesk-submit-button[disabled]{filter:grayscale(.25);box-shadow:none;}
@media (max-width:560px){.portaldesk-time-action-row{grid-template-columns:1fr;}.portaldesk-time-actions-grouped{max-width:none;}}


/* Step 7.50.4 - Time & Attendance layout refinements */
.portaldesk-time-summary-grid-expanded{grid-template-columns:repeat(3,minmax(145px,1fr));max-width:780px;}
.portaldesk-time-btn-start-break{background:#f59e0b!important;color:#102a43!important;}
.portaldesk-time-history-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;}
.portaldesk-time-history-header h4{margin:0 8px 0 0;}
.portaldesk-time-history-header label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;white-space:nowrap!important;margin:0;}
.portaldesk-time-history-header input[type="date"]{min-width:160px;}
.portaldesk-time-employee-daily-total{margin-top:4px;font-size:12px;font-weight:700;color:#083b8c;line-height:1.35;}
@media (max-width:760px){.portaldesk-time-summary-grid-expanded{grid-template-columns:1fr;max-width:none;}}

/* Step 7.50.5 - Time & Attendance compact cards + modern history button */
.portaldesk-time-summary-grid-expanded{
    grid-template-columns:repeat(3,minmax(150px,1fr));
    max-width:780px;
    gap:8px;
    margin:10px 0 12px;
}
.portaldesk-time-summary-grid-expanded div{
    padding:9px 12px;
    min-height:56px;
    border-radius:12px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.portaldesk-time-summary-grid-expanded span{
    font-size:11px;
    line-height:1.15;
    margin-bottom:4px;
    letter-spacing:.035em;
}
.portaldesk-time-summary-grid-expanded strong{
    font-size:16px;
    line-height:1.2;
}
.portaldesk-time-status-row{
    margin-bottom:10px;
}
.portaldesk-time-actions-grouped{
    margin-top:10px;
    gap:8px;
}
.portaldesk-time-action-row{
    gap:8px;
}
.portaldesk-time-actions .portaldesk-submit-button{
    min-height:40px;
    padding:9px 16px;
}
.portaldesk-time-history-panel{
    margin-top:14px;
    padding:14px;
}
.portaldesk-time-history-header{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:10px!important;
}
.portaldesk-time-history-header h4{
    margin:0 6px 0 0!important;
}
.portaldesk-time-history-header label{
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:8px!important;
    margin:0!important;
}
.portaldesk-time-history-header input[type="date"]{
    min-width:150px;
    padding:8px 10px;
    height:40px;
}
.portaldesk-time-history-header [data-portaldesk-time-history-load]{
    background:#083b8c!important;
    color:#fff!important;
    border:0!important;
    border-radius:999px!important;
    padding:10px 18px!important;
    min-height:40px!important;
    box-shadow:0 8px 18px rgba(8,59,140,.22)!important;
    font-weight:800!important;
    letter-spacing:.01em;
}
.portaldesk-time-history-header [data-portaldesk-time-history-load]:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(8,59,140,.28)!important;
}
@media (max-width:760px){
    .portaldesk-time-summary-grid-expanded{grid-template-columns:1fr;max-width:none;}
    .portaldesk-time-history-header{align-items:stretch!important;}
    .portaldesk-time-history-header label,
    .portaldesk-time-history-header [data-portaldesk-time-history-load]{width:100%;}
    .portaldesk-time-history-header input[type="date"]{flex:1;min-width:0;}
}

/* Step 7.51.14: clean embedded public-form completion state. */
.portaldesk-public-form-confirmation{max-width:900px;margin:24px auto;padding:0 16px;box-sizing:border-box}.portaldesk-public-form-confirmation .portaldesk-submission-notice{margin:0;padding:18px 20px;border-radius:10px;font-size:16px;line-height:1.5}


/* Step 7.51.16 - completed toolbar, consent, and address display */
.portaldesk-completed-dropdown-control > button.portaldesk-button { min-height: 34px !important; padding: 7px 12px !important; border-radius: 8px !important; font-size: 13px !important; line-height: 1.15 !important; font-weight: 700 !important; width: auto !important; }
body .portaldesk-dashboard .portaldesk-completed-dropdown-control .portaldesk-view-completed-button { background: var(--portaldesk-completed-view-bg) !important; color: var(--portaldesk-completed-view-text) !important; border-color: var(--portaldesk-completed-view-border) !important; }
body .portaldesk-dashboard .portaldesk-completed-dropdown-control .portaldesk-edit-selected-draft-button { background: var(--portaldesk-completed-edit-bg) !important; color: var(--portaldesk-completed-edit-text) !important; border-color: var(--portaldesk-completed-edit-border) !important; }
body .portaldesk-dashboard .portaldesk-completed-dropdown-control .portaldesk-delete-selected-draft-button { background: var(--portaldesk-completed-delete-bg) !important; color: var(--portaldesk-completed-delete-text) !important; border-color: var(--portaldesk-completed-delete-border) !important; }
body .portaldesk-dashboard .portaldesk-completed-dropdown-control .portaldesk-open-bulk-pdf-modal { background: var(--portaldesk-completed-bulk-bg) !important; color: var(--portaldesk-completed-bulk-text) !important; border-color: var(--portaldesk-completed-bulk-border) !important; }
.portaldesk-completed-consent-text { margin: 4px 0 8px; line-height: 1.55; }
.portaldesk-completed-consent-text p { margin: 0 0 6px; }
.portaldesk-completed-address { display: flex; gap: 8px 16px; }
.portaldesk-address-display-vertical .portaldesk-completed-address { flex-direction: column; gap: 4px; }
.portaldesk-address-display-horizontal .portaldesk-completed-address { flex-direction: row; flex-wrap: wrap; align-items: baseline; }
.portaldesk-address-display-part { display: inline-block; }
@media (max-width: 780px) { .portaldesk-completed-dropdown-control > button.portaldesk-button { width: auto !important; flex: 0 1 auto; } }


/* Step 7.51.17 - verified toolbar and shared field-output refinements */
body .portaldesk-dashboard .portaldesk-completed-toolbar .portaldesk-toolbar-button-row {
    display:flex; flex-wrap:wrap; align-items:center; gap:8px;
}
body .portaldesk-dashboard .portaldesk-completed-toolbar .portaldesk-toolbar-button-row > .portaldesk-button,
body .portaldesk-dashboard .portaldesk-completed-dropdown-control > .portaldesk-button {
    min-height:34px !important; padding:7px 13px !important; border-radius:9px !important;
    font-size:13px !important; line-height:1.2 !important; font-weight:700 !important;
    width:auto !important; box-shadow:0 2px 6px rgba(15,23,42,.10) !important;
}
body .portaldesk-dashboard .portaldesk-completed-toolbar .portaldesk-toolbar-button-row > .portaldesk-button:hover,
body .portaldesk-dashboard .portaldesk-completed-dropdown-control > .portaldesk-button:hover {
    transform:translateY(-1px) !important; filter:brightness(.96) !important;
    box-shadow:0 5px 12px rgba(15,23,42,.16) !important;
}
.portaldesk-completed-type-consent .portaldesk-completed-consent-text { margin:6px 0 12px !important; line-height:1.65 !important; }
.portaldesk-completed-type-consent .portaldesk-completed-consent-text p { margin:0 0 8px !important; }
.portaldesk-completed-type-consent .portaldesk-completed-value { margin-top:6px !important; }
.portaldesk-completed-type-address .portaldesk-completed-address { display:flex !important; line-height:1.55 !important; }
.portaldesk-address-display-vertical .portaldesk-completed-address { flex-direction:column !important; gap:7px !important; }
.portaldesk-address-display-horizontal .portaldesk-completed-address { flex-direction:row !important; flex-wrap:wrap !important; gap:8px 24px !important; }
.portaldesk-address-display-part { display:inline-flex !important; gap:5px !important; align-items:baseline !important; }

/* Step 7.51.21 - unlock modal and unlocked editor action polish */
.portaldesk-lock-unlock-dialog {
    border: 1px solid #dbe4ef;
    padding: 24px !important;
    gap: 16px !important;
}
.portaldesk-lock-unlock-dialog .description {
    margin: 0;
    color: #475569;
    line-height: 1.55;
}
.portaldesk-lock-unlock-dialog input,
.portaldesk-lock-unlock-dialog textarea {
    min-height: 42px;
    border-color: #cbd5e1 !important;
    box-shadow: 0 1px 2px rgba(15,23,42,.05);
}
.portaldesk-lock-unlock-actions {
    gap: 8px !important;
    padding-top: 2px;
}
.portaldesk-lock-unlock-actions .portaldesk-button,
.portaldesk-dashboard-entry-edit-wrap .portaldesk-toolbar-button-row .portaldesk-button,
.portaldesk-dashboard-entry-edit-wrap .portaldesk-entry-edit-footer .portaldesk-button {
    min-height: 36px !important;
    padding: 8px 14px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    width: auto !important;
    box-shadow: 0 2px 7px rgba(15,23,42,.12) !important;
    transition: transform .15s ease, filter .15s ease, box-shadow .15s ease !important;
}
.portaldesk-lock-unlock-actions .portaldesk-button:hover,
.portaldesk-dashboard-entry-edit-wrap .portaldesk-toolbar-button-row .portaldesk-button:hover,
.portaldesk-dashboard-entry-edit-wrap .portaldesk-entry-edit-footer .portaldesk-button:hover {
    transform: translateY(-1px);
    filter: brightness(.97);
    box-shadow: 0 5px 12px rgba(15,23,42,.16) !important;
}
.portaldesk-dashboard-entry-edit-wrap .portaldesk-entry-edit-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 10px;
}
.portaldesk-dashboard-entry-edit-wrap .portaldesk-entry-user-select {
    flex: 1 1 320px;
}


/* Step 7.51.23 - completed form delete confirmation modal */
.portaldesk-delete-completed-modal[hidden]{display:none!important;}
.portaldesk-delete-completed-modal{position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;padding:20px;}
.portaldesk-delete-completed-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(2px);}
.portaldesk-delete-completed-dialog{position:relative;width:min(520px,100%);display:grid;gap:14px;padding:22px;border:1px solid rgba(148,163,184,.45);border-radius:16px;background:#fff;box-shadow:0 24px 64px rgba(15,23,42,.28);}
.portaldesk-delete-completed-dialog h3{margin:0;color:#991b1b;font-size:20px;line-height:1.25;}
.portaldesk-delete-completed-dialog .description{margin:0;color:#475569;font-size:14px;line-height:1.5;}
.portaldesk-delete-completed-dialog label{display:grid;gap:6px;color:#1f2937;}
.portaldesk-delete-completed-dialog input,.portaldesk-delete-completed-dialog textarea{box-sizing:border-box;width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff;color:#0f172a;font-size:14px;}
.portaldesk-delete-completed-dialog input:focus,.portaldesk-delete-completed-dialog textarea:focus{outline:3px solid rgba(220,38,38,.14);border-color:#dc2626;}
.portaldesk-delete-completed-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.portaldesk-delete-completed-error{min-height:18px;color:#b91c1c;font-weight:700;font-size:13px;}
@media (max-width:600px){.portaldesk-delete-completed-dialog{padding:18px}.portaldesk-delete-completed-actions{justify-content:stretch}.portaldesk-delete-completed-actions .portaldesk-button{flex:1 1 auto;text-align:center}}

/* Step 7.51.26 - Forward modal and stable form-state UI */
html.portaldesk-modal-open, html.portaldesk-modal-open body{overflow:hidden!important;}
.portaldesk-forward-panel.portaldesk-modal-shell{position:fixed!important;inset:0!important;z-index:1000000!important;width:auto!important;padding:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;}
.portaldesk-forward-panel.portaldesk-modal-shell[hidden]{display:none!important;}
.portaldesk-forward-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(2px);}
.portaldesk-forward-panel .portaldesk-forward-panel-inner{position:relative;z-index:1;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid #dbe4ee;border-radius:18px;padding:22px;box-shadow:0 24px 70px rgba(15,23,42,.28);display:grid;gap:18px;}
.portaldesk-forward-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid #e7edf4;}
.portaldesk-forward-header strong{display:block;font-size:20px;line-height:1.25;color:#102a43;}
.portaldesk-forward-header .portaldesk-forward-help{margin:6px 0 0;}
.portaldesk-forward-close{width:36px;height:36px;border:1px solid #d6dee8;border-radius:10px;background:#f8fafc;color:#334155;font-size:24px;line-height:1;cursor:pointer;}
.portaldesk-forward-panel .portaldesk-forward-grid{display:grid;grid-template-columns:1fr;gap:15px;}
.portaldesk-forward-panel .portaldesk-forward-grid label{display:grid;gap:7px;font-weight:700;color:#17324d;}
.portaldesk-forward-panel .portaldesk-forward-grid select,.portaldesk-forward-panel .portaldesk-forward-grid textarea{width:100%;min-height:44px;border:1px solid #cbd5e1;border-radius:11px;padding:10px 12px;background:#fff;color:#0f172a;box-sizing:border-box;}
.portaldesk-forward-panel .portaldesk-forward-grid textarea{min-height:110px;resize:vertical;}
.portaldesk-forward-panel .portaldesk-forward-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px;}
.portaldesk-forward-panel .portaldesk-forward-submit-button,.portaldesk-forward-panel .portaldesk-forward-cancel-button{min-height:42px!important;padding:9px 17px!important;border-radius:10px!important;font-weight:700!important;box-shadow:none!important;}
@media(max-width:600px){.portaldesk-forward-panel.portaldesk-modal-shell{padding:12px!important}.portaldesk-forward-panel .portaldesk-forward-panel-inner{padding:17px;border-radius:14px}.portaldesk-forward-panel .portaldesk-forward-actions{flex-direction:column-reverse}.portaldesk-forward-panel .portaldesk-forward-actions .portaldesk-button{width:100%}}

/* Step 7.52 - Multiple User Selection */
.portaldesk-multi-user-select {
    border: 1px solid #dfe7f1;
    border-radius: 12px;
    background: #fff;
    padding: 12px;
}
.portaldesk-multi-user-actions { display:flex; gap:8px; margin-bottom:10px; }
.portaldesk-multi-user-actions .portaldesk-button { min-height:32px; padding:6px 12px; font-size:13px; }
.portaldesk-multi-user-list {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    gap:7px 12px;
    max-height:280px;
    overflow:auto;
    padding:2px;
}
.portaldesk-multi-user-option {
    display:flex;
    align-items:center;
    gap:8px;
    min-height:36px;
    padding:7px 9px;
    border:1px solid #edf1f6;
    border-radius:8px;
    background:#fbfcfe;
    font-weight:400 !important;
    cursor:pointer;
}
.portaldesk-multi-user-option:hover { border-color:#9bb8df; background:#f5f9ff; }
.portaldesk-multi-user-option input { margin:0; flex:0 0 auto; }
.portaldesk-multi-user-status { margin:9px 0 0; font-size:12px; color:#64748b; }
.portaldesk-multi-user-select.portaldesk-field-error { border-color:#c62828; box-shadow:0 0 0 2px rgba(198,40,40,.08); }

/* Step 7.52 - Modern Rating Scale */
.portaldesk-rating-scale { display:flex; flex-wrap:wrap; gap:8px; }
.portaldesk-rating-scale label {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
    font-weight:400;
}
.portaldesk-rating-scale input { position:absolute; opacity:0; pointer-events:none; }
.portaldesk-rating-scale span {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    min-height:36px;
    padding:6px 11px;
    border:1px solid #d9e3ef;
    border-radius:10px;
    background:#fff;
    color:#334155;
    font-weight:400;
    line-height:1.2;
    transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.portaldesk-rating-scale label:hover span { border-color:#789dcc; background:#f6f9fd; transform:translateY(-1px); }
.portaldesk-rating-scale input:checked + span { border-color:#083b8c; background:#083b8c; color:#fff; box-shadow:0 3px 10px rgba(8,59,140,.18); }
.portaldesk-rating-weight-light span { font-weight:300; }
.portaldesk-rating-weight-regular span { font-weight:400; }
.portaldesk-rating-weight-medium span { font-weight:500; }
.portaldesk-rating-style-segmented { gap:0; }
.portaldesk-rating-style-segmented label span { border-radius:0; margin-left:-1px; min-width:54px; }
.portaldesk-rating-style-segmented label:first-child span { border-radius:10px 0 0 10px; margin-left:0; }
.portaldesk-rating-style-segmented label:last-child span { border-radius:0 10px 10px 0; }
.portaldesk-rating-style-stars { gap:3px; }
.portaldesk-rating-style-stars span { border:0; background:transparent; min-width:34px; min-height:34px; padding:2px; font-size:29px; color:#b8c2cf; }
.portaldesk-rating-style-stars label:hover span,
.portaldesk-rating-style-stars input:checked + span { background:transparent; color:#d99a00; box-shadow:none; transform:scale(1.08); }

/* Step 7.52.1 - Multiple User popup and checkbox rating */
.portaldesk-multi-user-select{padding:0;border:0;background:transparent}
.portaldesk-multi-user-open{display:flex!important;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:46px;padding:9px 14px!important;border-radius:10px!important;background:#fff!important;color:#17324d!important;border:1px solid #cbd8e8!important;text-align:left}
.portaldesk-multi-user-open small{font-size:12px;font-weight:500;color:#64748b}
.portaldesk-selected-user-summary,.portaldesk-selected-user-display-list{margin:9px 0 0 20px;padding:0;display:grid;gap:4px;font-weight:400}
.portaldesk-selected-user-summary:empty{display:none}
.portaldesk-multi-user-modal[hidden]{display:none!important}
.portaldesk-multi-user-modal{position:fixed;inset:0;z-index:100050;display:flex;align-items:center;justify-content:center;padding:20px}
.portaldesk-multi-user-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55)}
.portaldesk-multi-user-dialog{position:relative;width:min(620px,96vw);max-height:84vh;display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.28);padding:20px}
.portaldesk-multi-user-dialog-header{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e5ebf3;padding-bottom:13px}
.portaldesk-multi-user-dialog-header strong{font-size:19px;color:#102a43}.portaldesk-multi-user-dialog-header p{margin:4px 0 0;color:#64748b;font-size:13px}
.portaldesk-multi-user-close{width:34px;height:34px;border:1px solid #d7e0ea;border-radius:9px;background:#f8fafc;font-size:23px;line-height:1;cursor:pointer}
.portaldesk-multi-user-search{width:100%;min-height:42px;margin:14px 0 10px;padding:9px 12px;border:1px solid #cbd8e8;border-radius:10px}
.portaldesk-multi-user-dialog-list{min-height:0;overflow:auto}.portaldesk-multi-user-dialog .portaldesk-multi-user-list{display:grid;grid-template-columns:1fr;max-height:none;overflow:visible;gap:6px}
.portaldesk-multi-user-dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e5ebf3;padding-top:14px;margin-top:12px}.portaldesk-multi-user-dialog-actions>div{display:flex;gap:8px}
.portaldesk-multi-user-apply{background:#083b8c!important;color:#fff!important;border-color:#083b8c!important}
@media(max-width:600px){.portaldesk-multi-user-dialog-actions{align-items:stretch;flex-direction:column}.portaldesk-multi-user-dialog-actions>div{width:100%}.portaldesk-multi-user-dialog-actions .portaldesk-button{flex:1}}
.portaldesk-rating-checkbox-style{gap:8px}
.portaldesk-rating-checkbox-style.portaldesk-rating-layout-vertical{flex-direction:column;align-items:flex-start}
.portaldesk-rating-checkbox-style label{justify-content:flex-start}
.portaldesk-rating-checkbox-style span{position:relative;min-width:0;min-height:32px;padding:5px 10px 5px 34px!important;border:0!important;background:transparent!important;color:#334155!important;box-shadow:none!important;transform:none!important;text-align:left}
.portaldesk-rating-checkbox-style span:before{content:'';position:absolute;left:8px;top:50%;width:16px;height:16px;transform:translateY(-50%);border:1.5px solid #94a3b8;border-radius:4px;background:#fff;box-sizing:border-box}
.portaldesk-rating-checkbox-style input:checked+span:before{background:#083b8c;border-color:#083b8c}
.portaldesk-rating-checkbox-style input:checked+span:after{content:'✓';position:absolute;left:11px;top:50%;transform:translateY(-54%);font-size:12px;font-weight:700;color:#fff}
.portaldesk-rating-checkbox-style label:hover span{background:#f8fafc!important;border-radius:7px}

/* Step 7.52.2 - Multiple User popup list alignment repair */
.portaldesk-multi-user-dialog,
.portaldesk-multi-user-dialog * {
    box-sizing: border-box;
}
.portaldesk-multi-user-dialog-list {
    width: 100%;
    overflow-x: hidden !important;
    overflow-y: auto;
    padding: 2px 0;
}
.portaldesk-multi-user-dialog .portaldesk-multi-user-list {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    gap: 6px;
    padding: 0;
    margin: 0;
    overflow: visible !important;
}
.portaldesk-multi-user-dialog .portaldesk-multi-user-option {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center !important;
    column-gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px;
    margin: 0 !important;
    padding: 8px 11px !important;
    border: 1px solid #e3eaf3 !important;
    border-radius: 9px !important;
    background: #f8fafc !important;
    color: #17324d !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    cursor: pointer;
    overflow: hidden;
}
.portaldesk-multi-user-dialog .portaldesk-multi-user-option:hover {
    border-color: #9bb8df !important;
    background: #f1f6fd !important;
}
.portaldesk-multi-user-dialog .portaldesk-multi-user-option input[type="checkbox"] {
    position: static !important;
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    transform: none !important;
}
.portaldesk-multi-user-dialog .portaldesk-multi-user-option > span {
    position: static !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font: inherit !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
}
@media (max-width: 600px) {
    .portaldesk-multi-user-dialog {
        width: min(96vw, 520px);
        padding: 16px;
    }
    .portaldesk-multi-user-dialog .portaldesk-multi-user-option {
        min-height: 38px;
        padding: 7px 9px !important;
    }
}


/* Step 7.52.10 - Forwarded Inbox temporary workspace and modern cards */
.portaldesk-forwarded-container{display:grid;gap:16px;}
.portaldesk-forwarded-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #dbe7f3;border-radius:16px;background:linear-gradient(135deg,#f8fbff 0%,#ffffff 100%);}
.portaldesk-forwarded-header h3{margin:2px 0 5px;font-size:20px;line-height:1.25;color:#17324d;}
.portaldesk-forwarded-header p{margin:0;max-width:720px;color:#64748b;font-size:13px;line-height:1.55;}
.portaldesk-forwarded-eyebrow{display:block;color:#083b8c;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;}
.portaldesk-forwarded-count{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:7px 11px;border-radius:999px;background:#e8f1ff;color:#083b8c;font-size:12px;font-weight:700;white-space:nowrap;}
.portaldesk-forwarded-list{gap:12px;}
.portaldesk-dashboard .portaldesk-forwarded-list-row{grid-template-columns:auto 38px minmax(0,1fr) auto;gap:13px;padding:15px 16px;border-color:#d7e4f0;border-radius:14px;box-shadow:0 5px 18px rgba(15,43,73,.05);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
.portaldesk-dashboard .portaldesk-forwarded-list-row:hover{border-color:#9ebce0;box-shadow:0 9px 24px rgba(15,43,73,.09);transform:translateY(-1px);}
.portaldesk-forwarded-card-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:#edf4ff;color:#083b8c;font-size:17px;}
.portaldesk-forwarded-card-content{min-width:0;}
.portaldesk-forwarded-card-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:5px;}
.portaldesk-forwarded-card-title-row>strong:first-child{font-size:15px;color:#17324d;}
.portaldesk-forwarded-meta{display:flex;gap:12px;flex-wrap:wrap;color:#64748b;font-size:12px;}
.portaldesk-forwarded-note{margin:9px 0 0!important;padding:9px 11px;border-left:3px solid #2f80ed;border-radius:7px;background:#f7faff;color:#475569!important;line-height:1.45;}
.portaldesk-forwarded-workspace{padding:16px;border:1px solid #c9daeb;border-radius:16px;background:#f7faff;box-shadow:0 12px 32px rgba(15,43,73,.09);}
.portaldesk-forwarded-workspace[hidden]{display:none!important;}
.portaldesk-forwarded-workspace-toolbar{display:flex;justify-content:flex-start;margin:0 0 12px;}
.portaldesk-forwarded-workspace-close{appearance:none;border:0;background:transparent;color:#083b8c;font-size:13px;font-weight:700;cursor:pointer;padding:5px 2px;}
.portaldesk-forwarded-workspace-close:hover,.portaldesk-forwarded-workspace-close:focus{text-decoration:underline;outline:none;}
.portaldesk-dashboard .portaldesk-forwarded-open-button{min-height:34px!important;padding:7px 13px!important;border-radius:9px!important;font-size:13px!important;}
@media(max-width:760px){.portaldesk-forwarded-header{flex-direction:column;}.portaldesk-dashboard .portaldesk-forwarded-list-row{grid-template-columns:auto 34px minmax(0,1fr);}.portaldesk-dashboard .portaldesk-forwarded-list-row .portaldesk-forwarded-open-button{grid-column:2/4;justify-self:start;}.portaldesk-forwarded-card-title-row{align-items:flex-start;}}


/* Step 7.52.11 - forwarded inbox and draft assignment stabilization */
.portaldesk-forwarded-row-actions,.portaldesk-draft-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.portaldesk-inbox-remove-one{border-color:#f0b4b4!important;color:#a11d1d!important;background:#fff7f7!important}.portaldesk-inbox-remove-one:hover{background:#feecec!important}.portaldesk-inbox-action-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}.portaldesk-inbox-action-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55)}.portaldesk-inbox-action-dialog{position:relative;width:min(520px,100%);background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.28);padding:20px;display:grid;gap:16px}.portaldesk-inbox-action-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.portaldesk-inbox-action-header strong{font-size:19px;color:#17324d}.portaldesk-inbox-action-header p{margin:4px 0 0;color:#64748b;font-size:13px;line-height:1.5}.portaldesk-inbox-action-close{border:0;background:transparent;font-size:25px;line-height:1;color:#64748b;cursor:pointer}.portaldesk-inbox-action-field{display:grid;gap:7px}.portaldesk-inbox-action-field>span{font-size:13px;font-weight:700;color:#334155}.portaldesk-inbox-action-field select,.portaldesk-inbox-action-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff}.portaldesk-inbox-action-error{min-height:18px;color:#b42318;font-size:13px}.portaldesk-inbox-action-actions{display:flex;justify-content:flex-end;gap:10px}.portaldesk-forwarded-workspace{order:20;margin-top:4px}.portaldesk-forwarded-list{order:10}.portaldesk-forwarded-header{order:1}.portaldesk-inbox-bulk-actions{order:5}@media(max-width:760px){.portaldesk-forwarded-row-actions,.portaldesk-draft-row-actions{justify-content:flex-start}.portaldesk-inbox-action-actions{flex-direction:column-reverse}.portaldesk-inbox-action-actions .portaldesk-button{width:100%}}


/* Step 7.52.12 - organized inbox/draft action controls */
.portaldesk-dashboard .portaldesk-inbox-row-actions,
.portaldesk-dashboard .portaldesk-draft-row-actions,
.portaldesk-dashboard .portaldesk-forwarded-row-actions{
	display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important;margin-left:auto!important;padding-left:14px!important;
}
.portaldesk-dashboard .portaldesk-inbox-row-actions .portaldesk-inbox-action,
.portaldesk-dashboard .portaldesk-inbox-bulk-actions .portaldesk-inbox-toolbar-button{
	display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;padding:8px 14px!important;margin:0!important;border-radius:8px!important;border:1px solid transparent!important;font-size:13px!important;font-weight:600!important;line-height:1.2!important;text-decoration:none!important;white-space:nowrap!important;cursor:pointer!important;box-shadow:0 1px 2px rgba(15,23,42,.08)!important;transition:transform .15s ease,box-shadow .15s ease,background .15s ease!important;
}
.portaldesk-dashboard .portaldesk-inbox-row-actions .portaldesk-inbox-action:hover,
.portaldesk-dashboard .portaldesk-inbox-bulk-actions .portaldesk-inbox-toolbar-button:hover{transform:translateY(-1px)!important;box-shadow:0 4px 10px rgba(15,23,42,.12)!important;}
.portaldesk-dashboard .portaldesk-action-open{background:#083b8c!important;color:#fff!important;border-color:#083b8c!important;}
.portaldesk-dashboard .portaldesk-action-forward,.portaldesk-dashboard .portaldesk-inbox-forward-selected-button{background:#0f766e!important;color:#fff!important;border-color:#0f766e!important;}
.portaldesk-dashboard .portaldesk-action-remove,.portaldesk-dashboard .portaldesk-inbox-remove-button{background:#fff7ed!important;color:#9a3412!important;border-color:#fdba74!important;}
.portaldesk-dashboard .portaldesk-action-delete,.portaldesk-dashboard .portaldesk-inbox-delete-button{background:#b91c1c!important;color:#fff!important;border-color:#b91c1c!important;}
.portaldesk-dashboard .portaldesk-inbox-bulk-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;padding:12px 14px!important;}
.portaldesk-dashboard .portaldesk-inbox-list-row{gap:14px!important;padding:15px 16px!important;}
.portaldesk-inbox-action-modal .portaldesk-inbox-action-dialog{width:min(460px,calc(100vw - 32px))!important;border-radius:14px!important;box-shadow:0 24px 65px rgba(15,23,42,.28)!important;}
.portaldesk-inbox-action-modal .portaldesk-inbox-action-field select{width:100%!important;min-height:44px!important;border-radius:8px!important;}
@media(max-width:700px){.portaldesk-dashboard .portaldesk-inbox-row-actions{width:100%!important;justify-content:flex-start!important;padding-left:0!important}.portaldesk-dashboard .portaldesk-inbox-row-actions .portaldesk-inbox-action{flex:1 1 auto!important;}}

/* Step 7.52.13 - Inbox and saved draft action controls */
.portaldesk-inbox-row-actions,
.portaldesk-forwarded-row-actions,
.portaldesk-draft-row-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.portaldesk-inbox-row-actions .portaldesk-inbox-action,
.portaldesk-inbox-bulk-actions .portaldesk-inbox-toolbar-button {
	min-height: 38px;
	padding: 8px 15px;
	border-width: 1px;
	border-style: solid;
	border-radius: 9px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .08);
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.portaldesk-inbox-row-actions .portaldesk-inbox-action:hover,
.portaldesk-inbox-row-actions .portaldesk-inbox-action:focus,
.portaldesk-inbox-bulk-actions .portaldesk-inbox-toolbar-button:hover,
.portaldesk-inbox-bulk-actions .portaldesk-inbox-toolbar-button:focus {
	color: inherit;
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(15, 23, 42, .13);
	opacity: .96;
}
.portaldesk-inbox-bulk-actions {
	gap: 10px;
}
@media (max-width: 640px) {
	.portaldesk-inbox-row-actions .portaldesk-inbox-action,
	.portaldesk-inbox-bulk-actions .portaldesk-inbox-toolbar-button {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
}

/* Step 7.53.3 - role-first shared user picker */
.portaldesk-user-picker-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}
.portaldesk-single-user-open{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;}
.portaldesk-single-user-open small{font-size:12px;opacity:.75;font-weight:500;}
.portaldesk-multi-user-dialog-list{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:0;min-height:360px;max-height:58vh;overflow:hidden;border-top:1px solid #e5edf5;border-bottom:1px solid #e5edf5;}
.portaldesk-user-picker-role-panel{padding:16px;border-right:1px solid #e5edf5;background:#f7fafe;overflow:auto;}
.portaldesk-user-picker-role-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;}
.portaldesk-user-picker-all{border:1px solid #cbd9e7;background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;}
.portaldesk-user-picker-all.is-active{background:#083b8c;color:#fff;border-color:#083b8c;}
.portaldesk-user-picker-role-list{display:grid;gap:7px;}
.portaldesk-user-picker-role-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid transparent;border-radius:10px;cursor:pointer;background:#fff;}
.portaldesk-user-picker-role-option:hover{border-color:#b8cbe0;}
.portaldesk-user-picker-role-option small{font-size:11px;color:#52606d;background:#edf3f9;border-radius:999px;padding:2px 7px;}
.portaldesk-user-picker-user-panel{min-width:0;padding:16px;overflow:auto;background:#fff;}
.portaldesk-user-picker-user-panel .portaldesk-multi-user-search{width:100%;margin:0 0 12px;}
.portaldesk-user-picker-user-panel .portaldesk-multi-user-list{display:grid;gap:8px;max-height:none;overflow:visible;}
.portaldesk-multi-user-option{display:grid!important;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:center;}
.portaldesk-multi-user-option input{grid-row:1 / span 2;}
.portaldesk-user-picker-name{font-weight:600;min-width:0;}
.portaldesk-user-picker-role{font-size:12px;color:#65758b;font-weight:500;}
@media (max-width:720px){.portaldesk-multi-user-dialog-list{grid-template-columns:1fr;max-height:68vh;}.portaldesk-user-picker-role-panel{border-right:0;border-bottom:1px solid #e5edf5;max-height:180px;}.portaldesk-user-picker-role-list{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* Step 7.53.4 - shared user picker reliability and checkbox polish */
.portaldesk-user-picker-role-option{position:relative;grid-template-columns:22px minmax(0,1fr) auto;min-height:44px;}
.portaldesk-user-picker-role-option input,
.portaldesk-multi-user-option input{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;border:2px solid #9fb2c7;border-radius:6px;background:#fff;display:grid;place-content:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;}
.portaldesk-user-picker-role-option input:before,
.portaldesk-multi-user-option input:before{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);transform-origin:center;transition:transform .12s ease;}
.portaldesk-user-picker-role-option input:checked,
.portaldesk-multi-user-option input:checked{background:#083b8c;border-color:#083b8c;box-shadow:0 0 0 3px rgba(8,59,140,.12);}
.portaldesk-user-picker-role-option input:checked:before,
.portaldesk-multi-user-option input:checked:before{transform:rotate(-45deg) scale(1);}
.portaldesk-user-picker-role-option.is-selected{border-color:#8eb0d5;background:#edf5ff;}
.portaldesk-user-picker-role-option span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.portaldesk-multi-user-option{grid-template-columns:22px minmax(0,1fr)!important;padding:10px 12px!important;min-height:48px;border:1px solid #dce6f0!important;border-radius:10px!important;background:#fff!important;}
.portaldesk-multi-user-option:hover{border-color:#9cb8d6!important;background:#f8fbff!important;}
.portaldesk-multi-user-option input{grid-row:1 / span 2!important;align-self:center;}
.portaldesk-user-picker-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35;}
.portaldesk-user-picker-role{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25;}
.portaldesk-single-user-option input{border-radius:50%;}
.portaldesk-single-user-option input:before{width:8px;height:8px;border:0;border-radius:50%;background:#fff;transform:scale(0);}
.portaldesk-single-user-option input:checked:before{transform:scale(1);}

/* Step 7.53.5 - compact role filters and reliable hidden-state filtering */
.portaldesk-user-picker-role-option{
	grid-template-columns:16px minmax(0,1fr) auto;
	gap:6px;
	min-height:34px;
	padding:6px 7px;
	border-radius:8px;
}
.portaldesk-user-picker-role-option input{
	width:15px;
	height:15px;
	border-width:1.5px;
	border-radius:4px;
}
.portaldesk-user-picker-role-option input:before{
	width:7px;
	height:4px;
	border-left-width:1.5px;
	border-bottom-width:1.5px;
}
.portaldesk-user-picker-role-option span{
	font-size:12px;
	line-height:1.25;
	white-space:normal;
	overflow:visible;
	text-overflow:clip;
	word-break:break-word;
}
.portaldesk-user-picker-role-option small{
	font-size:10px;
	padding:1px 5px;
}
.portaldesk-user-picker-role-list{gap:5px;}
.portaldesk-user-picker-role-panel{padding:12px;}

/* The hidden attribute must win over the option grid declaration. */
.portaldesk-multi-user-option[hidden]{display:none!important;}

/* Selected users receive a crisp white checkmark inside the blue control. */
.portaldesk-multi-user-option input:checked:before,
.portaldesk-single-user-option input:checked:before{
	content:"";
	width:9px;
	height:5px;
	border:0;
	border-left:2px solid #fff;
	border-bottom:2px solid #fff;
	border-radius:0;
	background:transparent;
	transform:rotate(-45deg) scale(1);
}

/* Step 7.53.6 - shared user picker popup UI modernization */
.portaldesk-multi-user-modal .portaldesk-multi-user-dialog{
    width:min(680px,calc(100vw - 28px))!important;
    max-height:min(86vh,760px)!important;
    padding:16px!important;
    border-radius:15px!important;
    overflow:hidden!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-dialog-header{
    align-items:flex-start!important;
    padding-bottom:12px!important;
    border-bottom:0!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-dialog-header strong{
    display:block!important;
    font-size:18px!important;
    line-height:1.25!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-dialog-header p{
    margin-top:5px!important;
    font-size:12px!important;
    line-height:1.4!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-close{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #d7e1ec!important;
    border-radius:10px!important;
    background:#f8fafc!important;
    color:#475569!important;
    font-size:20px!important;
    line-height:1!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-dialog-list{
    grid-template-columns:minmax(220px,250px) minmax(0,1fr)!important;
    min-height:390px!important;
    max-height:58vh!important;
    padding:0!important;
    border:1px solid #dfe8f2!important;
    border-radius:12px!important;
    overflow:hidden!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-panel{
    padding:12px!important;
    border-right:1px solid #dfe8f2!important;
    background:#f6f9fd!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-heading{
    min-height:30px!important;
    margin-bottom:8px!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-heading strong{
    font-size:15px!important;
    line-height:1.2!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-all{
    min-width:38px!important;
    min-height:25px!important;
    padding:3px 10px!important;
    font-size:11px!important;
    font-weight:700!important;
    line-height:1!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-list{
    gap:6px!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-option{
    grid-template-columns:16px minmax(0,1fr) auto!important;
    gap:7px!important;
    min-height:38px!important;
    padding:6px 8px!important;
    border:1px solid transparent!important;
    border-radius:9px!important;
    overflow:visible!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-option:hover{
    border-color:#b9cce1!important;
    background:#fff!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-option.is-selected{
    border-color:#7da5d4!important;
    background:#eaf3ff!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-option input[type="checkbox"]{
    position:static!important;
    display:grid!important;
    place-content:center!important;
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    min-height:15px!important;
    margin:0!important;
    padding:0!important;
    border:1.5px solid #91a8bf!important;
    border-radius:4px!important;
    background:#fff!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-option input[type="checkbox"]:checked{
    border-color:#083b8c!important;
    background:#083b8c!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-option input[type="checkbox"]:before{
    content:""!important;
    display:block!important;
    width:7px!important;
    height:4px!important;
    border:0!important;
    border-left:1.5px solid #fff!important;
    border-bottom:1.5px solid #fff!important;
    border-radius:0!important;
    background:transparent!important;
    transform:rotate(-45deg) scale(0)!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-option input[type="checkbox"]:checked:before{
    transform:rotate(-45deg) scale(1)!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-option span{
    min-width:0!important;
    padding:0!important;
    font-size:11.5px!important;
    font-weight:600!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    text-overflow:clip!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-option small{
    align-self:center!important;
    min-width:18px!important;
    padding:2px 5px!important;
    font-size:9.5px!important;
    line-height:1.25!important;
    text-align:center!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel{
    padding:14px!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel .portaldesk-multi-user-search{
    min-height:44px!important;
    margin:0 0 12px!important;
    padding:9px 12px!important;
    border-radius:10px!important;
    font-size:14px!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel .portaldesk-multi-user-list{
    gap:7px!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-option{
    grid-template-columns:22px minmax(0,1fr)!important;
    column-gap:10px!important;
    row-gap:1px!important;
    min-height:55px!important;
    padding:8px 12px!important;
    border:1px solid #dbe5ef!important;
    border-radius:10px!important;
    background:#f8fafc!important;
    overflow:visible!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-option:hover{
    border-color:#9bb8d8!important;
    background:#f2f7fd!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-option:has(input:checked){
    border-color:#6f9acb!important;
    background:#edf5ff!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-option input[type="checkbox"],
.portaldesk-multi-user-modal .portaldesk-multi-user-option input[type="radio"]{
    position:static!important;
    display:grid!important;
    place-content:center!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
    margin:0!important;
    padding:0!important;
    border:2px solid #9bb1c8!important;
    background:#fff!important;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-option input[type="checkbox"]{
    border-radius:6px!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-option input[type="radio"]{
    border-radius:50%!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-option input[type="checkbox"]:checked,
.portaldesk-multi-user-modal .portaldesk-multi-user-option input[type="radio"]:checked{
    border-color:#083b8c!important;
    background:#083b8c!important;
    box-shadow:0 0 0 3px rgba(8,59,140,.10)!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-option input[type="checkbox"]:before,
.portaldesk-multi-user-modal .portaldesk-multi-user-option input[type="radio"]:before{
    content:""!important;
    display:block!important;
    width:9px!important;
    height:5px!important;
    border:0!important;
    border-left:2px solid #fff!important;
    border-bottom:2px solid #fff!important;
    border-radius:0!important;
    background:transparent!important;
    transform:rotate(-45deg) scale(0)!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-option input[type="checkbox"]:checked:before,
.portaldesk-multi-user-modal .portaldesk-multi-user-option input[type="radio"]:checked:before{
    transform:rotate(-45deg) scale(1)!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-name{
    min-width:0!important;
    padding:0!important;
    font-size:15px!important;
    font-weight:500!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role{
    min-width:0!important;
    padding:0!important;
    font-size:11.5px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-option[hidden]{display:none!important;}
.portaldesk-multi-user-modal .portaldesk-multi-user-dialog-actions{
    min-height:58px!important;
    margin-top:10px!important;
    padding-top:10px!important;
    align-items:center!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-dialog-actions>div{
    align-items:center!important;
    gap:8px!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-dialog-actions .portaldesk-button{
    min-height:36px!important;
    padding:8px 14px!important;
    border-radius:9px!important;
    font-size:12px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
}
@media(max-width:720px){
    .portaldesk-multi-user-modal{padding:10px!important;}
    .portaldesk-multi-user-modal .portaldesk-multi-user-dialog{width:100%!important;max-height:92vh!important;padding:13px!important;}
    .portaldesk-multi-user-modal .portaldesk-multi-user-dialog-list{grid-template-columns:1fr!important;max-height:67vh!important;}
    .portaldesk-multi-user-modal .portaldesk-user-picker-role-panel{max-height:190px!important;border-right:0!important;border-bottom:1px solid #dfe8f2!important;}
    .portaldesk-multi-user-modal .portaldesk-user-picker-role-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .portaldesk-multi-user-modal .portaldesk-multi-user-dialog-actions{align-items:stretch!important;}
}
@media(max-width:480px){
    .portaldesk-multi-user-modal .portaldesk-user-picker-role-list{grid-template-columns:1fr!important;}
    .portaldesk-multi-user-modal .portaldesk-multi-user-dialog-actions,
    .portaldesk-multi-user-modal .portaldesk-multi-user-dialog-actions>div{width:100%!important;flex-wrap:wrap!important;}
    .portaldesk-multi-user-modal .portaldesk-multi-user-dialog-actions .portaldesk-button{flex:1 1 auto!important;}
}


/* PortalDesk Step 7.53.9 - Radio Buttons layout without visual restyling */
.portaldesk-choice-list.portaldesk-radio-layout-horizontal {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
}
.portaldesk-choice-list.portaldesk-radio-layout-horizontal > .portaldesk-choice-row {
	width: auto;
	max-width: 100%;
	margin: 0;
}
@media (max-width: 640px) {
	.portaldesk-choice-list.portaldesk-radio-layout-horizontal > .portaldesk-choice-row {
		flex: 1 1 auto;
	}
}


/* PortalDesk Step 7.53.11 - compact radio choices and Yes/No layouts */
.portaldesk-choice-list.portaldesk-radio-options {
	gap: 4px;
}
.portaldesk-choice-list.portaldesk-radio-options > .portaldesk-choice-row {
	border: 0;
	background: transparent;
	border-radius: 0;
	padding: 2px 0;
	margin: 0;
	min-height: 0;
}
.portaldesk-choice-list.portaldesk-radio-options.portaldesk-radio-layout-horizontal {
	column-gap: 18px;
	row-gap: 4px;
	align-items: center;
}
.portaldesk-choice-list.portaldesk-yes-no-list.portaldesk-yes-no-layout-horizontal {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 18px;
	row-gap: 4px;
}
.portaldesk-choice-list.portaldesk-yes-no-list.portaldesk-yes-no-layout-horizontal > .portaldesk-choice-row {
	width: auto;
	max-width: 100%;
	margin: 0;
}

/* Step 7.53.17 - Role Selection field */
.portaldesk-role-select-horizontal{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.portaldesk-role-select-horizontal .portaldesk-choice-row{width:auto;margin:0}
.portaldesk-role-select-list .portaldesk-choice-row{padding-top:2px;padding-bottom:2px}

/* Step 7.53.20: Date Range field */
.portaldesk-date-range{display:grid;gap:14px;align-items:end}.portaldesk-date-range-horizontal{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.portaldesk-date-range-vertical{grid-template-columns:1fr}.portaldesk-date-range label{display:grid;gap:6px}.portaldesk-date-range label>span{font-weight:600}.portaldesk-date-range-summary{grid-column:1/-1;font-size:13px;color:#50647a;min-height:18px}.portaldesk-date-range input[type=date]{width:100%}@media(max-width:700px){.portaldesk-date-range-horizontal{grid-template-columns:1fr}}

/* Step 7.53.22 - Rating Matrix Field */
.portaldesk-rating-matrix-wrap{width:100%;}
.portaldesk-rating-matrix-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.portaldesk-rating-matrix{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff;border:1px solid #e2e8f0;}
.portaldesk-rating-matrix th,.portaldesk-rating-matrix td{padding:12px 10px;border-bottom:1px solid #e2e8f0;text-align:center;vertical-align:middle;}
.portaldesk-rating-matrix thead th{background:#f5f8fc;color:#17324f;font-size:13px;line-height:1.25;font-weight:700;}
.portaldesk-rating-matrix th:first-child{width:40%;text-align:left;}
.portaldesk-rating-matrix tbody th{font-size:14px;line-height:1.45;font-weight:500;color:#17324f;background:#fff;}
.portaldesk-rating-matrix tbody tr:nth-child(even) th,.portaldesk-rating-matrix tbody tr:nth-child(even) td{background:#fbfcfe;}
.portaldesk-matrix-choice{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-width:30px;min-height:30px;margin:0;}
.portaldesk-matrix-choice input{position:absolute;opacity:0;pointer-events:none;}
.portaldesk-matrix-choice>span[aria-hidden="true"]{width:20px;height:20px;border:2px solid #9eb4ce;border-radius:50%;background:#fff;display:block;box-sizing:border-box;position:relative;transition:.15s ease;}
.portaldesk-matrix-choice input:checked+span{background:#1556a8;border-color:#1556a8;}
.portaldesk-matrix-choice input:checked+span:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%);}
.portaldesk-matrix-choice input:focus-visible+span{outline:3px solid rgba(21,86,168,.25);outline-offset:2px;}
.portaldesk-rating-matrix-summary{margin-top:10px;font-weight:600;color:#17324f;}
@media(max-width:700px){.portaldesk-rating-matrix{min-width:720px}.portaldesk-rating-matrix th:first-child{width:220px}}

/* Step 7.53.23 - Repeating Section Field */
.portaldesk-repeating-section{display:grid;gap:14px}.portaldesk-repeating-items{display:grid;gap:14px}.portaldesk-repeating-item{border:1px solid #d7e1ed;border-radius:10px;background:#fbfdff;padding:14px}.portaldesk-repeating-item-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid #e2e9f2;margin-bottom:12px}.portaldesk-repeating-item-header>div{display:flex;gap:6px;flex-wrap:wrap}.portaldesk-repeating-item-header .button{min-height:30px;padding:3px 10px}.portaldesk-repeating-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portaldesk-repeat-child{display:grid;gap:6px}.portaldesk-repeat-child>span{font-weight:600}.portaldesk-repeat-child input,.portaldesk-repeat-child select,.portaldesk-repeat-child textarea{width:100%}.portaldesk-repeat-add{justify-self:start}@media(max-width:700px){.portaldesk-repeating-item-grid{grid-template-columns:1fr}.portaldesk-repeating-item-header{align-items:flex-start;flex-direction:column}}

/* Step 7.53.24/7.53.25 - baseline form typography; Global Typography Manager inline CSS overrides these defaults.
 * This intentionally excludes PortalDesk navigation, toolbars, modal actions,
 * and administrative controls so the application UI keeps its modern font.
 */
.portaldesk-form-wrap .portaldesk-form-field,
.portaldesk-form-wrap .portaldesk-form-field > label,
.portaldesk-form-wrap .portaldesk-form-field input:not([type="button"]):not([type="submit"]):not([type="reset"]),
.portaldesk-form-wrap .portaldesk-form-field textarea,
.portaldesk-form-wrap .portaldesk-form-field select,
.portaldesk-form-wrap .portaldesk-form-field select option,
.portaldesk-form-wrap .portaldesk-choice-text,
.portaldesk-form-wrap .portaldesk-read-only-title,
.portaldesk-form-wrap .portaldesk-read-only-content,
.portaldesk-form-wrap .portaldesk-read-only-content p,
.portaldesk-form-wrap .portaldesk-html-field-title,
.portaldesk-form-wrap .portaldesk-html-field-content,
.portaldesk-form-wrap .portaldesk-field-description,
.portaldesk-form-wrap .portaldesk-field-help,
.portaldesk-form-wrap .portaldesk-consent-text,
.portaldesk-form-wrap .portaldesk-rating-matrix,
.portaldesk-form-wrap .portaldesk-rating-matrix th,
.portaldesk-form-wrap .portaldesk-rating-matrix td,
.portaldesk-form-wrap .portaldesk-repeat-child,
.portaldesk-form-wrap .portaldesk-repeat-child > span,
.portaldesk-form-wrap .portaldesk-repeating-item-title,
.portaldesk-form-wrap .portaldesk-date-range-field,
.portaldesk-form-wrap .portaldesk-date-range-label,
.portaldesk-form-wrap .portaldesk-completed-label,
.portaldesk-form-wrap .portaldesk-completed-value,
.portaldesk-completed-entry-view .portaldesk-completed-label,
.portaldesk-completed-entry-view .portaldesk-completed-value,
.portaldesk-completed-entry-view .portaldesk-read-only-title,
.portaldesk-completed-entry-view .portaldesk-read-only-content,
.portaldesk-completed-entry-view .portaldesk-read-only-content p,
.portaldesk-completed-entry-view .portaldesk-rating-matrix,
.portaldesk-completed-entry-view .portaldesk-rating-matrix th,
.portaldesk-completed-entry-view .portaldesk-rating-matrix td,
.portaldesk-entry-edit-card .portaldesk-form-field,
.portaldesk-entry-edit-card .portaldesk-form-field > label,
.portaldesk-entry-edit-card .portaldesk-form-field input:not([type="button"]):not([type="submit"]):not([type="reset"]),
.portaldesk-entry-edit-card .portaldesk-form-field textarea,
.portaldesk-entry-edit-card .portaldesk-form-field select,
.portaldesk-entry-edit-card .portaldesk-form-field select option,
.portaldesk-entry-edit-card .portaldesk-choice-text,
.portaldesk-entry-edit-card .portaldesk-read-only-title,
.portaldesk-entry-edit-card .portaldesk-read-only-content,
.portaldesk-entry-edit-card .portaldesk-rating-matrix,
.portaldesk-entry-edit-card .portaldesk-rating-matrix th,
.portaldesk-entry-edit-card .portaldesk-rating-matrix td,
.portaldesk-print-page .portaldesk-form-wrap,
.portaldesk-print-page .portaldesk-form-field,
.portaldesk-print-page .portaldesk-form-field > label,
.portaldesk-print-page .portaldesk-choice-text,
.portaldesk-print-page .portaldesk-read-only-title,
.portaldesk-print-page .portaldesk-read-only-content,
.portaldesk-print-page .portaldesk-read-only-content p,
.portaldesk-print-page .portaldesk-html-field-title,
.portaldesk-print-page .portaldesk-html-field-content,
.portaldesk-print-page .portaldesk-completed-label,
.portaldesk-print-page .portaldesk-completed-value,
.portaldesk-print-page .portaldesk-rating-matrix,
.portaldesk-print-page .portaldesk-rating-matrix th,
.portaldesk-print-page .portaldesk-rating-matrix td,
.portaldesk-print-page .portaldesk-repeat-child,
.portaldesk-print-page .portaldesk-repeat-child > span {
	font-family: "Times New Roman", Times, serif !important;
}

/* Ensure rich/read-only content inherits the form typography instead of theme CSS. */
.portaldesk-form-wrap .portaldesk-read-only-content *,
.portaldesk-form-wrap .portaldesk-html-field-content *,
.portaldesk-completed-entry-view .portaldesk-read-only-content *,
.portaldesk-print-page .portaldesk-read-only-content *,
.portaldesk-print-page .portaldesk-html-field-content * {
	font-family: inherit !important;
}


/* Step 7.53.27 - restore field-level Section Heading alignment and matrix output. */
.portaldesk-form-section-heading{width:100%!important;max-width:100%!important;display:block!important;box-sizing:border-box;}
.portaldesk-form-section-heading h3,.portaldesk-form-section-heading p{width:100%!important;max-width:100%!important;box-sizing:border-box;}
.portaldesk-form-section-align-left,.portaldesk-form-section-align-left h3,.portaldesk-form-section-align-left p{text-align:left!important;}
.portaldesk-form-section-align-center,.portaldesk-form-section-align-center h3,.portaldesk-form-section-align-center p{text-align:center!important;}
.portaldesk-form-section-align-right,.portaldesk-form-section-align-right h3,.portaldesk-form-section-align-right p{text-align:right!important;}
.portaldesk-rating-matrix-readonly .portaldesk-matrix-display-mark{display:inline-flex;width:20px;height:20px;border:1.5px solid #9eb4ce;border-radius:2px;background:#fff;align-items:center;justify-content:center;box-sizing:border-box;position:relative;}
.portaldesk-rating-matrix-readonly .portaldesk-matrix-display-mark.is-selected{background:#1556a8;border-color:#1556a8;}
.portaldesk-rating-matrix-readonly .portaldesk-matrix-display-mark.is-selected:after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px);display:block;}


/* Step 7.53.28 - Professional document layout and alignment repair. */
.portaldesk-form-section-heading{clear:both;float:none!important;margin-left:0!important;margin-right:0!important;}
.portaldesk-form-section-align-center{display:flex!important;flex-direction:column;align-items:center!important;justify-content:center!important;}
.portaldesk-form-section-align-center h3,.portaldesk-form-section-align-center p{display:block!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.portaldesk-rating-matrix-wrap{break-inside:avoid-page;page-break-inside:avoid;}
.portaldesk-rating-matrix thead{display:table-header-group;}
.portaldesk-rating-matrix tr{break-inside:avoid;page-break-inside:avoid;}
.portaldesk-rating-matrix-summary{text-align:right;}
.portaldesk-completed-entry-view .portaldesk-form-section-heading + .portaldesk-rating-matrix-wrap,
.portaldesk-print-page .portaldesk-form-section-heading + .portaldesk-rating-matrix-wrap{break-before:avoid-page;page-break-before:avoid;}
.portaldesk-completed-entry-view .portaldesk-completed-field:has(.portaldesk-completed-label:first-child),
.portaldesk-print-page .portaldesk-completed-field{orphans:2;widows:2;}

/* Step 7.53.29 - Document Layout Engine precision fixes. */
.portaldesk-form-section-heading.portaldesk-form-section-align-center{display:block!important;width:100%!important;max-width:none!important;text-align:center!important;padding-left:0!important;padding-right:0!important;transform:none!important;}
.portaldesk-form-section-heading.portaldesk-form-section-align-center h3,.portaldesk-form-section-heading.portaldesk-form-section-align-center p{display:block!important;width:100%!important;max-width:none!important;text-align:center!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;transform:none!important;box-sizing:border-box!important;}
.portaldesk-rating-matrix{table-layout:fixed!important;}
.portaldesk-rating-matrix thead th{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;hyphens:auto!important;max-width:0!important;padding-left:7px!important;padding-right:7px!important;}
.portaldesk-rating-matrix thead th:first-child{max-width:none!important;}
@media print{.portaldesk-rating-matrix thead{display:table-header-group!important}.portaldesk-rating-matrix tr{break-inside:avoid!important;page-break-inside:avoid!important}.portaldesk-form-section-heading{break-after:avoid-page!important;page-break-after:avoid!important;}}


/* Step 7.53.30 - exact footer-independent entry viewing and boxed signatures. */
.portaldesk-signature-display-shell {
	width: min(100%, var(--pd-signature-box-width, 280px));
	max-width: 100%;
}
.portaldesk-signature-display-box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	box-sizing: border-box;
	width: min(100%, var(--pd-signature-box-width, 280px));
	max-width: 100%;
	min-height: var(--pd-signature-box-min-height, 58px);
	padding: 3px;
	border: 1px solid #aebfd2;
	border-radius: 6px;
	background: #fff;
	overflow: hidden;
}
.portaldesk-signature-display-box img,
.portaldesk-completed-type-signature .portaldesk-signature-display-box img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: min(100%, var(--pd-signature-image-width, 260px)) !important;
	max-height: var(--pd-signature-image-height, 50px) !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}
.portaldesk-signature-display-box > span {
	margin-top: 3px;
}
.portaldesk-signature-pad {
	border: 1px solid #aebfd2;
	border-radius: 6px;
	background: #fff;
	padding: 3px;
}
.portaldesk-direct-entry-toolbar {
	display: flex;
	justify-content: flex-start;
	margin: 0 0 12px;
}


/* Step 7.53.31 - Evaluation Score Summary */
.portaldesk-evaluation-score-summary,.portaldesk-evaluation-summary-table{width:100%;font-family:"Times New Roman",Times,serif}.portaldesk-evaluation-score-summary table,.portaldesk-evaluation-summary-table table{width:100%;border-collapse:collapse}.portaldesk-evaluation-score-summary th,.portaldesk-evaluation-score-summary td,.portaldesk-evaluation-summary-table th,.portaldesk-evaluation-summary-table td{border:1px solid #d5deea;padding:10px;text-align:left;vertical-align:middle}.portaldesk-evaluation-score-summary th,.portaldesk-evaluation-summary-table th{background:#f3f7fc;font-weight:700}.portaldesk-evaluation-summary-overall{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}.portaldesk-evaluation-summary-overall strong{font-weight:700}

/* Step 7.53.33 - Evaluation Score Summary renderer repair */
.portaldesk-evaluation-summary-empty{padding:14px 16px;border:1px dashed #b9c8dc;border-radius:8px;background:#f8fbff;color:#43556d;font-family:"Times New Roman",Times,serif;font-style:italic}

/* Step 7.53.34 - Rating Matrix Summary Name and compact score summary */
.portaldesk-evaluation-summary-compact{width:100%;margin:4px 0 10px;font-family:"Times New Roman",Times,serif}
.portaldesk-evaluation-summary-line{display:flex;align-items:baseline;gap:8px;min-height:26px;line-height:1.35}
.portaldesk-evaluation-summary-name{flex:0 1 auto;min-width:0}
.portaldesk-evaluation-summary-leader{flex:1 1 auto;min-width:24px;border-bottom:1px dotted currentColor;transform:translateY(-3px);opacity:.7}
.portaldesk-evaluation-summary-leader[data-leader="dashes"]{border-bottom-style:dashed}
.portaldesk-evaluation-summary-leader[data-leader="none"]{border-bottom:0}
.portaldesk-evaluation-summary-value{flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:700}
.portaldesk-evaluation-summary-compact + .portaldesk-evaluation-summary-overall{border-top:1px solid #7f8da0;padding-top:10px;margin-top:10px}


/* Step 7.53.36 - Open Form route stability and Rating Matrix scroll anchoring repair */
[data-portaldesk-rating-matrix],
[data-evaluation-score-summary],
.portaldesk-evaluation-score-summary,
.portaldesk-evaluation-summary-content {
	overflow-anchor: none;
}
.portaldesk-dashboard-full .portaldesk-tab-panel.is-active {
	scrollbar-gutter: stable;
}
.portaldesk-form-wrap[data-portaldesk-open-context="dashboard"] {
	contain: layout paint;
}

/* PortalDesk Step 7.53.39 - shared user picker independent scrolling repair */
.portaldesk-multi-user-modal .portaldesk-multi-user-dialog{
    min-height:0!important;
}
.portaldesk-multi-user-modal .portaldesk-multi-user-dialog-list{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-panel,
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel{
    min-height:0!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-panel{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    -webkit-overflow-scrolling:touch!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel{
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel .portaldesk-multi-user-search{
    flex:0 0 auto!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel .portaldesk-multi-user-list{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    -webkit-overflow-scrolling:touch!important;
    padding-right:4px!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel .portaldesk-multi-user-list:focus{
    outline:2px solid rgba(8,59,140,.18)!important;
    outline-offset:2px!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-panel,
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel .portaldesk-multi-user-list{
    scrollbar-width:thin;
    scrollbar-color:#9fb6cf #eef3f8;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-panel::-webkit-scrollbar,
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel .portaldesk-multi-user-list::-webkit-scrollbar{
    width:10px;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-panel::-webkit-scrollbar-track,
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel .portaldesk-multi-user-list::-webkit-scrollbar-track{
    background:#eef3f8;
    border-radius:999px;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-panel::-webkit-scrollbar-thumb,
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel .portaldesk-multi-user-list::-webkit-scrollbar-thumb{
    background:#9fb6cf;
    border:2px solid #eef3f8;
    border-radius:999px;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-panel::-webkit-scrollbar-thumb:hover,
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel .portaldesk-multi-user-list::-webkit-scrollbar-thumb:hover{
    background:#7898b9;
}
@media(max-width:720px){
    .portaldesk-multi-user-modal .portaldesk-multi-user-dialog-list{
        overflow-y:auto!important;
        overscroll-behavior:contain!important;
    }
    .portaldesk-multi-user-modal .portaldesk-user-picker-role-panel{
        flex:0 0 auto!important;
        overflow-y:auto!important;
    }
    .portaldesk-multi-user-modal .portaldesk-user-picker-user-panel{
        min-height:280px!important;
        overflow:hidden!important;
    }
}


/* PortalDesk Step 7.53.40 - shared user picker enforced scroll regions */
.portaldesk-multi-user-modal .portaldesk-multi-user-dialog-list{
    height:min(58vh,500px)!important;
    max-height:min(58vh,500px)!important;
    min-height:360px!important;
    align-items:stretch!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-panel,
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel{
    height:100%!important;
    max-height:100%!important;
    box-sizing:border-box!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-user-panel .portaldesk-multi-user-list{
    min-height:0!important;
    height:100%!important;
    max-height:100%!important;
    overflow-y:scroll!important;
    overflow-x:hidden!important;
    touch-action:pan-y!important;
}
.portaldesk-multi-user-modal .portaldesk-user-picker-role-panel{
    overflow-y:scroll!important;
    touch-action:pan-y!important;
}
@media(max-width:720px){
    .portaldesk-multi-user-modal .portaldesk-multi-user-dialog-list{
        height:min(67vh,610px)!important;
        max-height:min(67vh,610px)!important;
        min-height:440px!important;
        overflow:hidden!important;
    }
    .portaldesk-multi-user-modal .portaldesk-user-picker-role-panel{
        height:180px!important;
        max-height:180px!important;
    }
    .portaldesk-multi-user-modal .portaldesk-user-picker-user-panel{
        height:min(390px,45vh)!important;
        min-height:250px!important;
    }
}


/* PortalDesk Step 7.53.42 - true viewport positioning for shared user pickers */
body > .portaldesk-multi-user-modal.portaldesk-viewport-user-picker{
    position:fixed!important;
    inset:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100vw!important;
    height:100vh!important;
    margin:0!important;
    padding:20px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:none!important;
    z-index:2147483000!important;
    box-sizing:border-box!important;
}
body > .portaldesk-multi-user-modal.portaldesk-viewport-user-picker[hidden]{display:none!important;}
body > .portaldesk-multi-user-modal.portaldesk-viewport-user-picker .portaldesk-multi-user-dialog{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    margin:auto!important;
    transform:none!important;
}
@media(max-width:720px){
    body > .portaldesk-multi-user-modal.portaldesk-viewport-user-picker{padding:10px!important;}
}
/* Step 7.53.44 void and addendum controls */
.portaldesk-voided-banner{position:relative;margin:14px 0;padding:14px 18px;border:2px solid #c00;background:#fff4f4;color:#9b0000;text-align:center}.portaldesk-voided-banner strong{display:block;font-size:30px;letter-spacing:.18em}.portaldesk-voided-banner span{display:block;margin-top:4px}.portaldesk-addendum-manager{margin:16px 0;padding:16px;border:1px solid #fecaca;background:#fff;border-radius:12px}.portaldesk-addendum-manager>label{display:block;margin:10px 0}.portaldesk-addendum-manager textarea{width:100%;box-sizing:border-box}
.portaldesk-entry-view[data-entry-status="voided"],.portaldesk-completed-entry-view.portaldesk-is-voided{position:relative}.portaldesk-entry-view[data-entry-status="voided"]:before,.portaldesk-completed-entry-view.portaldesk-is-voided:before{content:"VOID";position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-28deg);font-size:110px;font-weight:700;color:rgba(204,0,0,.18);pointer-events:none;z-index:8}
@media print{.portaldesk-voided-banner{display:block!important}.portaldesk-voided-banner strong{color:#c00!important}}


/* Step 7.53.45 - secure Void Form confirmation modal */
body.portaldesk-modal-open{overflow:hidden!important}
.portaldesk-void-modal{position:fixed;inset:0;z-index:2147483600;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.62);box-sizing:border-box}
.portaldesk-void-modal-dialog{position:relative;width:min(540px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.35);padding:26px;box-sizing:border-box}
.portaldesk-void-modal-dialog h3{margin:0 38px 8px 0;color:#991b1b;font-size:22px}
.portaldesk-void-modal-dialog p{margin:0 0 18px;color:#475569;line-height:1.5}
.portaldesk-void-modal-dialog label{display:block;margin:14px 0;color:#111827}
.portaldesk-void-modal-dialog label strong{display:block;margin-bottom:7px}
.portaldesk-void-modal-dialog input,.portaldesk-void-modal-dialog textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:9px;padding:11px 12px;font:inherit;background:#fff;color:#111827}
.portaldesk-void-modal-dialog input:focus,.portaldesk-void-modal-dialog textarea:focus{outline:2px solid rgba(8,59,140,.2);border-color:#083b8c}
.portaldesk-void-modal-close{position:absolute;right:16px;top:13px;border:0;background:transparent;font-size:30px;line-height:1;color:#64748b;cursor:pointer}
.portaldesk-void-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.portaldesk-void-modal-error{margin-top:12px;padding:10px 12px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#991b1b}
@media(max-width:600px){.portaldesk-void-modal{padding:10px}.portaldesk-void-modal-dialog{padding:20px}.portaldesk-void-modal-actions{flex-direction:column-reverse}.portaldesk-void-modal-actions .portaldesk-button{width:100%}}

/* Step 7.53.47 voided-entry and addendum-manager UX */
.portaldesk-voided-only-view{min-height:260px;display:flex;align-items:center;justify-content:center;background:#fff7f7!important;border:2px solid #dc2626!important}
.portaldesk-voided-only-view .portaldesk-voided-banner{width:min(680px,92%);margin:0;box-sizing:border-box}
.portaldesk-addendum-manager-modal{position:fixed;inset:0;z-index:2147483600;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.portaldesk-addendum-manager-modal[hidden]{display:none!important}.portaldesk-addendum-manager-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62)}
.portaldesk-addendum-manager-dialog{position:relative;z-index:1;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.35);padding:24px;box-sizing:border-box}
.portaldesk-addendum-manager-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.portaldesk-addendum-manager-header h3{margin:0 0 5px}.portaldesk-addendum-manager-header p{margin:0;color:#64748b}
.portaldesk-addendum-manager-close{border:0;background:transparent;font-size:30px;line-height:1;color:#64748b;cursor:pointer}.portaldesk-addendum-manager-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 12px}.portaldesk-addendum-manager-toolbar span{margin-left:auto;font-weight:600;color:#334155}
.portaldesk-addendum-manager-list{display:grid;gap:10px;max-height:320px;overflow:auto;padding-right:4px}.portaldesk-addendum-manager-card{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:flex-start;padding:14px;border:1px solid #dbe3ef;border-radius:12px;background:#f8fafc;cursor:pointer}.portaldesk-addendum-manager-card:hover{border-color:#93c5fd;background:#eff6ff}.portaldesk-addendum-manager-card input{margin-top:3px}.portaldesk-addendum-manager-card-content{display:grid;gap:4px}.portaldesk-addendum-manager-card-content small{color:#64748b}.portaldesk-addendum-manager-card-content>span{color:#334155}
.portaldesk-addendum-removal-security{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;margin-top:18px}.portaldesk-addendum-removal-security label{display:block}.portaldesk-addendum-removal-security strong{display:block;margin-bottom:6px}.portaldesk-addendum-removal-security input,.portaldesk-addendum-removal-security textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:9px;padding:10px 12px}.portaldesk-addendum-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
@media(max-width:650px){.portaldesk-addendum-manager-modal{padding:10px}.portaldesk-addendum-manager-dialog{padding:18px}.portaldesk-addendum-removal-security{grid-template-columns:1fr}.portaldesk-addendum-manager-toolbar span{width:100%;margin-left:0}.portaldesk-addendum-actions{flex-direction:column-reverse}.portaldesk-addendum-actions .portaldesk-button{width:100%}}

/* Step 7.53.48 live voided-entry renderer and addendum refresh */
.portaldesk-voided-entry-content{position:relative;overflow:hidden;background:#fff!important}
.portaldesk-voided-entry-content:before{content:"VOID";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-28deg);font-size:clamp(72px,12vw,150px);line-height:1;font-weight:700;letter-spacing:.08em;color:rgba(204,0,0,.15);pointer-events:none;z-index:2;white-space:nowrap}
.portaldesk-voided-entry-content>.portaldesk-voided-banner,.portaldesk-voided-entry-content>.portaldesk-voided-form-content{position:relative;z-index:3}
.portaldesk-voided-entry-content .portaldesk-voided-form-content{opacity:.96}
