@CHARSET "UTF-8";

* {
	box-sizing:content-box;
}

/* ==========================================================================
   BaWue web fonts (Baden-Wuerttemberg corporate design)
   Files live in resources/primefaces-lgltheme/fonts/... ; this CSS lives in
   resources/primefaces-lgltheme/,
   so font URLs are relative to the CSS location and resolve to the same
   resources tree.
   ========================================================================== */
@font-face {
 	font-family: "BaWue Sans";
 	font-style: normal;
 	font-weight: 400;
 	font-display: swap;
	src: url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-sans/BaWueSans/Web/BaWueSansWeb-Regular.woff2.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff2"),
		 url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-sans/BaWueSans/Web/BaWueSansWeb-Regular.woff.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff");
}
@font-face {
 	font-family: "BaWue Sans";
 	font-style: italic;
 	font-weight: 400;
 	font-display: swap;
	src: url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-sans/BaWueSans/Web/BaWueSansWeb-RegularItalic.woff2.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff2"),
		 url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-sans/BaWueSans/Web/BaWueSansWeb-RegularItalic.woff.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff");
}
@font-face {
 	font-family: "BaWue Sans";
 	font-style: normal;
 	font-weight: 600;
 	font-display: swap;
	src: url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-sans/BaWueSans/Web/BaWueSansWeb-SemiBold.woff2.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff2"),
		 url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-sans/BaWueSans/Web/BaWueSansWeb-SemiBold.woff.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff");
}
@font-face {
 	font-family: "BaWue Sans";
 	font-style: italic;
 	font-weight: 600;
 	font-display: swap;
	src: url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-sans/BaWueSans/Web/BaWueSansWeb-SemiBoldItalic.woff2.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff2"),
		 url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-sans/BaWueSans/Web/BaWueSansWeb-SemiBoldItalic.woff.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff");
}
@font-face {
 	font-family: "BaWue Sans";
 	font-style: normal;
 	font-weight: 700;
 	font-display: swap;
	src: url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-sans/BaWueSans/Web/BaWueSansWeb-Bold.woff2.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff2"),
		 url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-sans/BaWueSans/Web/BaWueSansWeb-Bold.woff.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff");
}
@font-face {
 	font-family: "BaWue Sans";
 	font-style: italic;
 	font-weight: 700;
 	font-display: swap;
	src: url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-sans/BaWueSans/Web/BaWueSansWeb-BoldItalic.woff2.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff2"),
		 url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-sans/BaWueSans/Web/BaWueSansWeb-BoldItalic.woff.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff");
}
@font-face {
 	font-family: "BaWue Serif";
 	font-style: normal;
 	font-weight: 400;
 	font-display: swap;
	src: url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-serif/BaWueSerif/Web/BaWueSerifWeb-Regular.woff2.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff2"),
		 url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-serif/BaWueSerif/Web/BaWueSerifWeb-Regular.woff.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff");
}
@font-face {
 	font-family: "BaWue Serif";
 	font-style: normal;
 	font-weight: 700;
 	font-display: swap;
	src: url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-serif/BaWueSerif/Web/BaWueSerifWeb-Bold.woff2.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff2"),
		 url("/sp-beihilfeantrag/jakarta.faces.resource/fonts/bawue-serif/BaWueSerif/Web/BaWueSerifWeb-Bold.woff.xhtml?ln=primefaces-lgltheme&v=15.0.16&e=13.0.14&e=13.0.14") format("woff");
}

/* Note: the bw-icons web font + its .bw / .bw-* icon classes are provided by
   resources/primefaces-lgltheme/fonts/bw-icons/bw-icons.css, which is loaded in templates/main.xhtml
   before this stylesheet. No @font-face for bw-icons is needed here. */


/* ==========================================================================
   Theme variables (Dark Mode support)
   Light theme is the default (:root). The dark theme is activated by setting
   data-theme="dark" on the <html> element (see resources/primefaces-lgltheme/scripts/theme.js).
   All color values are WCAG-AA-checked for their intended pairing.
   ========================================================================== */
:root {
	color-scheme: light;
	/* Authoritative Land Baden-Wuerttemberg digital palette. */
	--palette-bawue-yellow: #FFFC00;
	--palette-bawue-black: #2A2623;
	--palette-white: #FFFFFF;
	--palette-black: #000000;

	--palette-grey-6: #47403C;
	--palette-grey-5: #6D6766;
	--palette-grey-4: #918C8C;
	--palette-grey-3: #BBB6B5;
	--palette-grey-2: #E4E0E0;
	--palette-grey-1: #F4F3F3;

	--palette-supporting-purple-light: #C761EC;
	--palette-supporting-purple-dark: #6B108C;
	--palette-supporting-turquoise-light: #309AAF;
	--palette-supporting-turquoise-dark: #094954;
	--palette-supporting-orange-light: #DD6F06;
	--palette-supporting-orange-dark: #6A3201;

	--palette-functional-blue-light: #508CF1;
	--palette-functional-blue-dark: #0A3C90;
	--palette-functional-green-light: #609D0F;
	--palette-functional-green-dark: #2B4904;
	--palette-functional-red-light: #FD4D4D;
	--palette-functional-reddish-light-grey: #f3d7d7;
	--palette-functional-reddish-dark-grey: #422525;
	--palette-functional-red-dark: #85100C;

	/* Semantic light-theme roles. */
	--color-brand-yellow: var(--palette-bawue-yellow);
	--color-brand-yellow-text: var(--palette-bawue-black);
	--color-check: var(--palette-bawue-black);
	--color-check-backgound: var(--color-surface);
	--color-check-backgound-focused: var(--palette-bawue-yellow);

	--color-footer: var(--palette-bawue-black);
	--color-footer-text: var(--palette-white);
	--color-text: var(--palette-bawue-black);
	--color-text-dark: var(--palette-bawue-black);
	--text-color-secondary: var(--palette-grey-6);
	--color-page: var(--palette-grey-1);
	--color-surface: var(--palette-white);
	--color-border: var(--palette-grey-5);
	--color-border-strong: var(--palette-grey-6);
	--color-text-muted: var(--palette-grey-5);
	--color-surface-muted: var(--palette-grey-1);
	--color-focus: var(--palette-bawue-yellow);
	--color-error: var(--palette-functional-red-dark);
	--color-error-surface: var(--palette-functional-reddish-light-grey);
	--color-error-border: var(--palette-functional-red-dark);
	--color-info: var(--palette-functional-blue-dark);
	--color-info-surface: var(--palette-grey-1);
	--color-info-border: var(--palette-functional-blue-dark);
	--color-warning: var(--palette-functional-red-dark);
	--color-warning-surface: var(--palette-grey-1);
	--color-warning-border: var(--palette-functional-red-dark);
	--color-success: var(--palette-functional-green-dark);
	--color-success-surface: var(--palette-grey-1);
	--color-success-border: var(--palette-functional-green-dark);
	--color-danger: var(--palette-functional-red-dark);
	--color-danger-surface: var(--palette-functional-red-dark);
	--color-danger-text: var(--palette-white);
	--color-action-primary: var(--palette-bawue-black);
	--color-action-primary-text: var(--palette-white);
	--color-action-hover: var(--palette-grey-6);
	--color-highlight: var(--palette-bawue-black);
	--color-highlight-surface: var(--palette-bawue-yellow);
	--color-highlight-border: var(--palette-bawue-black);
	--color-box-shadow: var(--palette-grey-2);
	--radius-small: 3px;
	--radius-medium: 8px;
	--shadow-card: 0 8px 24px rgb(0 0 0 / 0.18);
	--shadow-focus: 0 0 0 5px var(--palette-bawue-black);
	--content-max-width: 74rem;
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.5rem;
	--space-6: 2rem;
	--font-sans: "BaWue Sans", Arial, Helvetica, sans-serif;
	--font-serif: "BaWue Serif", Georgia, "Times New Roman", serif;
}

/* Dark theme: dark page/surfaces, light text. The yellow brand bar and the
   dark footer keep their corporate colors; all text/surface colors flip. */
[data-theme="dark"] {
	color-scheme: dark;
	--color-brand-yellow-text: var(--palette-bawue-black);
	--color-check: var(--palette-bawue-yellow);
	--color-check-backgound: var(--palette-bawue-black);
	--color-check-backgound-focused: var(--palette-functional-green-dark);
	--color-footer: var(--palette-bawue-black);
	--color-footer-text: var(--palette-white);
	--color-text: var(--palette-white);
	--text-color-secondary: var(--palette-grey-2);
	--color-page: var(--palette-black);
	--color-surface: var(--palette-bawue-black);
	--color-border: var(--palette-grey-4);
	--color-border-strong: var(--palette-grey-3);
	--color-text-muted: var(--palette-grey-3);
	--color-surface-muted: var(--palette-grey-6);
	--color-focus: var(--palette-bawue-yellow);
	--color-error: var(--palette-functional-red-light);
	--color-error-surface: var(--palette-functional-reddish-dark-grey);
	--color-error-border: var(--palette-functional-red-light);
	--color-info: var(--palette-functional-blue-light);
	--color-info-surface: var(--palette-bawue-black);
	--color-info-border: var(--palette-functional-blue-light);
	--color-warning: var(--palette-functional-red-light);
	--color-warning-surface: var(--palette-bawue-black);
	--color-warning-border: var(--palette-functional-red-light);
	--color-success: var(--palette-functional-green-light);
	--color-success-surface: var(--palette-bawue-black);
	--color-success-border: var(--palette-functional-green-light);
	--color-danger: var(--palette-functional-red-light);
	--color-danger-surface: var(--palette-functional-red-light);
	--color-danger-text: var(--palette-black);
	--color-action-primary: var(--palette-white);
	--color-action-primary-text: var(--palette-black);
	--color-action-hover: var(--palette-grey-1);
	--color-highlight: var(--palette-bawue-black);
	--color-highlight-surface: var(--palette-bawue-yellow);
	--color-highlight-border: var(--palette-white);
	--color-box-shadow: var(--palette-grey-6);
	--shadow-card: 0 8px 24px rgb(0 0 0 / 0.55);
	--shadow-focus: 0 0 0 5px var(--palette-bawue-black);
}

body{
	margin: 0;
	background: var(--color-page);
	font-family: var(--font-sans);
	color: var(--color-text);
}

/* Links take the surrounding text colour (like the reference portal's
   a{color:inherit}). More specific rules (footer, impressum, ui-widget
   states) still override where they apply. */
a{
	color: var(--text-color-secondary);
}
a:hover{
	color: var(--color-text);
}

/* Section header of each page: BaWue Serif, size like the reference portal */
h1{
	font-family: var(--font-serif);
	font-size: 2.7rem;
	font-weight: 600;
	line-height: 1.1;
}

.record-toolbar {
	box-shadow: var(--color-box-shadow) 0px 0px 8px;
}

body .ui-toolbar.record-toolbar {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-small);
}

.ui-inputfield {
	box-shadow: none !important;
}

.ui-widget {
	font-family: var(--font-sans);
	font-size: 1rem;
}
.ui-widget .ui-widget {
	font-size: 1em;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
	font-family: var(--font-sans);
	font-size: 1em;
}

:where(.ui-button, .ui-commandlink, .ui-link) .bw {
	font-size: 1rem;
	line-height: 1;
	vertical-align: middle;
}

.record-toolbar,
.record-toolbar-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
}

.record-toolbar {
	justify-content: space-between;
	margin-block: var(--space-3);
}

@media (max-width: 48rem) {
	.record-toolbar .ui-toolbar-group-left,
	.record-toolbar .ui-toolbar-group-right {
		display: flex;
		flex-wrap: wrap;
		gap: var(--space-2);
	}

	button.ui-button.ui-button-icon-only {
		width: 2.4rem !important;
		min-width: 2.4rem !important;
		padding-inline: 0;
	}
}

/* Buttons — reference (Modulberatung) design.
   Base look = secondary/ghost: white fill, dark outline.
   .ui-button-primary = primary: dark fill, white text. */
button.ui-state-default,
button.ui-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-height: 2.75rem;
	padding: 0.35em 1rem;
	border: 1px solid var(--color-text);
	border-radius: var(--radius-small);
	background: var(--color-surface);
	color: var(--color-text);
	font-weight: 700;
	cursor: pointer;
}

button.ui-button.ui-button-primary {
	background: var(--color-action-primary);
	border-color: var(--color-action-primary);
	color: var(--color-action-primary-text);
}

button.ui-button.ui-button-secondary {
	background: var(--color-surface);
	border-color: var(--color-border-strong);
	color: var(--color-text);
}

button.ui-button.ui-button-danger {
	background: var(--color-danger);
	border-color: var(--color-danger);
	color: var(--color-danger-text);
}

button.ui-button.ui-button-icon-only {
	width: 2.75rem;
	min-width: 2.75rem;
	padding-inline: 0;
}

button.ui-button:not(:disabled):hover {
	border-color: var(--color-action-hover);
}

button.ui-button.ui-button-primary:not(:disabled):hover {
	background: var(--color-action-hover);
}

button.ui-button.ui-button-danger:not(:disabled):hover {
	background: var(--color-error);
	border-color: var(--color-error);
}

:where(button.ui-button, .ui-commandlink, .ui-link, input, select, textarea):focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 2px;
	box-shadow: var(--shadow-focus);
}

button.ui-button:disabled,
button.ui-state-default:disabled,
button.ui-state-disabled {
	cursor: not-allowed;
	opacity: 0.55;
}
label.ui-state-error {
	background: none;	
}

/* PrimeFaces feedback and blocking states. */
.ui-messages > div,
.ui-growl-item-container {
	border: 1px solid var(--color-border);
	border-left-width: 0.4rem;
	border-radius: var(--radius-small);
	background: var(--color-surface);
	color: var(--color-text);
}

.ui-messages-info,
.ui-growl-image-info + .ui-growl-message {
	border-left-color: var(--color-info-border);
}

.ui-messages-warn {
	border-left-color: var(--color-warning-border);
	background: var(--color-warning-surface);
}

.ui-messages-error,
.ui-messages-fatal {
	border-left-color: var(--color-error-border);
	background: var(--color-error-surface);
}

.ui-messages-success {
	border-left-color: var(--color-success-border);
	background: var(--color-success-surface);
}

.ui-growl {
	width: min(24rem, calc(100vw - 2rem));
}

.ui-blockui-content {
	padding: var(--space-4);
	border-radius: var(--radius-small);
	background: var(--color-surface);
	color: var(--color-text);
	box-shadow: var(--shadow-card);
}

body .ui-inputfield {
	color: var(--color-text);
	background:var(--color-surface);
	padding:.4rem 0.4rem;
	border:1px solid rgba(0,0,0,.38);
	outline:0 none;
	font-size:1rem;
	border-radius: var(--radius-small);
	transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s;
	-webkit-appearance:none;
	appearance:none
}


body .ui-widget {
	font-family: var(--font-sans) -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
	font-size: 1rem;
}

/* Overlays (modal dialog backdrop): flat modern dim */
.ui-widget-overlay {
	background: rgb(0 0 0 / 0.55);
	opacity: 1;
}

/* Dialogs: modern BaWue portal look (white card, serif title) */
.ui-dialog {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-small);
	box-shadow: var(--shadow-card);
	font-family: var(--font-sans);
	color: var(--color-text);
}

.ui-dialog .ui-dialog-titlebar {
    padding: 0.6em 1em 0 1em;
    position: relative;
	background: transparent;
	font-family: var(--font-serif);
	font-size: 1.2em;
	font-weight: 400;
	color: var(--color-text);
}

/* Title must not float (legacy) or it wraps beneath the close button;
   keep clear space on the right for the close icon. */
.ui-dialog .ui-dialog-title {
	float: none;
	margin: 0;
	padding-right: 2em;
}

/* Pin the close button to the top-right corner of the titlebar
   (PrimeFaces only floats it right, which drops it below the title). */
.ui-dialog .ui-dialog-titlebar-close {
	position: absolute;
	top: 0.75em !important;
	right: 0.75em !important;
	float: none !important;
	margin: 0;
	padding: 0 !important;
	cursor: pointer;
}

.ui-dialog .ui-dialog-titlebar-close:focus,
.ui-dialog .ui-dialog-titlebar-close:focus-visible {
	outline: 3px solid var(--color-focus) !important;
	outline-offset: 2px;
	box-shadow: var(--shadow-focus) !important;
}

.ui-dialog .ui-dialog-content {
	color: var(--color-text);
	padding: 0 1em 0.75em 1em;
}

/* Disabled text inputs: clearly grayed out */
.ui-inputfield.ui-state-disabled,
.ui-inputfield:disabled {
	background: var(--color-surface-muted);
	border: 1px solid var(--color-border);
	color: var(--color-text-muted);
	cursor: not-allowed;
	opacity: 1; /* override the global .ui-state-disabled fade so the gray is clear */
}

/* Disabled radio options: gray out the label that follows the disabled input.
   JSF renders <input type="radio" disabled><label>…</label>. */
.ui-selectoneradio input[type="radio"]:disabled + label,
input[type="radio"]:disabled + label {
	color: var(--color-text-muted);
	cursor: not-allowed;
}

body .ui-radiobutton .ui-radiobutton-box {
	border: 1px solid var(--color-border-strong);
}

/* The disabled radio input itself */
input[type="radio"]:disabled {
	cursor: not-allowed;
}

body .ui-message:not(:has(div)) {
	display: none;
}

body .ui-fieldset {
	border: 1px solid var(--color-border);
	background: var(--color-surface);
	color: rgba(0,0,0,.87);
	padding: .75rem;
	border-radius: var(--radius-small);
	box-shadow: var(--color-box-shadow) 0px 0px 8px;
}

body .ui-datatable thead th,
body .ui-datatable tfoot td{
	background: var(--color-surface-muted);
	/*color: rgba(0,0,0,.87);*/
	/*padding: .75rem .75rem;*/
	/*border: 1px solid #e4e4e4;*/
	/*border-width: 0 0 1px 0;*/
	/*text-align: left;*/
	/*box-sizing: content-box;*/
	/*transition: background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s;*/
}

body .ui-fieldset .ui-fieldset-legend {
	max-width: calc(100% - var(--space-4));
	border: 1px solid var(--color-border);
	background: var(--color-surface);
	font-size: 1.1em;
	white-space: normal;
	overflow-wrap: anywhere;
}

body .ui-fieldset .ui-fieldset-content {
	min-width: 0;
}

body .ui-chkbox .ui-chkbox-box {
	border: 1px solid var(--color-border-strong);
}

body .ui-chkbox .ui-chkbox-box.ui-state-active {
	border-color: var(--color-border) !important;
	background: var(--color-check-backgound);
	color: var(--palette-bawue-black);
}

body .ui-chkbox .ui-chkbox-box:not(.ui-state-disabled).ui-state-hover {
	background-color: var(--color-check-backgound-focused);
	box-shadow:0 0 1px 10px rgba(255,252,0,.25)
}
body .ui-chkbox .ui-chkbox-box:not(.ui-state-disabled).ui-state-focus {
	background-color: var(--color-check-backgound);
}
body .ui-chkbox .ui-chkbox-box.ui-state-active:not(.ui-state-disabled).ui-state-hover {
	background-color: var(--color-check-backgound-focused);
	box-shadow:0 0 1px 10px rgba(255,252,0,.25)
}
body .ui-chkbox .ui-chkbox-box.ui-state-active:not(.ui-state-disabled).ui-state-focus {
	background-color: var(--color-check-backgound);
}

body .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon::before {
	content: "";
	position: absolute;
	top: 7px;
	left: 2px;
	border-right: 2px solid rgba(0,0,0,0);
	border-bottom: 2px solid rgba(0,0,0,0);
	transform: rotate(45deg);
	transform-origin: 0% 100%;
	animation: corporate-checkbox-check 125ms 50ms linear forwards;
}

@keyframes corporate-checkbox-check {
	0% {
		width:0;
		height:0;
		border-color:var(--color-text);
		transform:translate3d(0, 0, 0) rotate(45deg)
	}
	33% {
		width:4px;
		height:0;
		transform:translate3d(0, 0, 0) rotate(45deg)
	}
	100% {
		width:4px;
		height:10px;
		border-color:var(--color-text);
		transform:translate3d(0, -10px, 0) rotate(45deg)
	}
}

body .ui-radiobutton .ui-radiobutton-box.ui-state-active {
	border-color: var(--color-check);
	background: var(--color-surface);
	color: var(--color-check);;
}

body .ui-radiobutton .ui-radiobutton-box.ui-state-active .ui-icon-bullet {
	background: var(--color-check);
}

body .ui-radiobutton .ui-radiobutton-box:not(.ui-state-disabled):not(.ui-state-active).ui-state-hover {
	box-shadow:0 0 1px 10px rgba(255,252,0,.25)
}

body .ui-radiobutton .ui-radiobutton-box.ui-state-active:not(.ui-state-disabled).ui-state-hover {
	box-shadow:0 0 1px 10px rgba(255,252,0,.25)
}
body .ui-radiobutton .ui-radiobutton-box.ui-state-active:not(.ui-state-disabled).ui-state-focus {
	box-shadow:0 0 1px 10px rgba(255,252,0,.25)
}

body .ui-selectonemenu-panel .ui-selectonemenu-items .ui-selectonemenu-item.ui-state-highlight,
body .ui-datepicker .ui-datepicker-calendar td > a.ui-state-active {
	background: var(--color-highlight-surface);
	color: var(--color-highlight);
}

body .ui-button.ui-state-hover, body .ui-button.ui-state-focus {
	background: var(--color-highlight-surface);
	color: var(--color-text-dark);
}

body .ui-datatable .ui-datatable-data > tr > td {
	border: 1px solid var(--palette-grey-3);
}

	/* The framework theme uses fixed light colors. Keep dark overrides component-scoped so its
       structure and PrimeIcons remain the framework-owned baseline. */
[data-theme="dark"] .ui-fieldset,
[data-theme="dark"] .ui-toolbar,
[data-theme="dark"] .ui-datepicker,
[data-theme="dark"] .ui-datepicker .ui-datepicker-header {
	border-color: var(--color-border);
	background: var(--color-surface);
	color: var(--color-text);
}

[data-theme="dark"] .ui-fieldset .ui-fieldset-legend,
[data-theme="dark"] .ui-datatable .ui-datatable-header,
[data-theme="dark"] .ui-datatable thead th,
[data-theme="dark"] .ui-datatable tfoot td {
	border-color: var(--color-border);
	background: var(--color-surface-muted);
	color: var(--color-text);
}

[data-theme="dark"] .ui-inputfield,
[data-theme="dark"] .ui-selectonemenu,
[data-theme="dark"] .ui-selectcheckboxmenu,
[data-theme="dark"] .ui-radiobutton .ui-radiobutton-box,
[data-theme="dark"] .ui-chkbox .ui-chkbox-box {
	border-color: var(--color-border);
	background: var(--color-surface);
	color: var(--color-text);
}

[data-theme="dark"] .ui-inputfield.ui-state-readonly,
[data-theme="dark"] .ui-selectonemenu.ui-state-readonly,
[data-theme="dark"] .ui-selectcheckboxmenu.ui-state-readonly,
[data-theme="dark"] .ui-radiobutton .ui-radiobutton-box.ui-state-readonly,
[data-theme="dark"] .ui-chkbox .ui-chkbox-box.ui-state-readonly {
	border-color: var(--color-border);
	background: var(--color-surface-muted);
	color: var(--color-text-muted);
}

[data-theme="dark"] .ui-selectonemenu .ui-selectonemenu-label,
[data-theme="dark"] .ui-selectcheckboxmenu .ui-selectcheckboxmenu-label {
	color: var(--color-text);
}

[data-theme="dark"] .ui-selectonemenu .ui-selectonemenu-trigger .ui-icon,
[data-theme="dark"] .ui-selectcheckboxmenu .ui-selectcheckboxmenu-trigger .ui-icon,
[data-theme="dark"] .ui-datepicker .ui-datepicker-next,
[data-theme="dark"] .ui-datepicker .ui-datepicker-prev {
	color: var(--color-text-muted);
}

[data-theme="dark"] .ui-radiobutton .ui-radiobutton-box.ui-state-active,
[data-theme="dark"] .ui-chkbox .ui-chkbox-box.ui-state-active {
	border-color: var(--color-highlight-border);
	background: var(--color-text-muted);
	color: var(--color-highlight);
}

[data-theme="dark"] .ui-radiobutton .ui-radiobutton-box.ui-state-active .ui-icon-bullet {
	background: var(--color-highlight);
}

[data-theme="dark"] .ui-selectonemenu-panel,
[data-theme="dark"] .ui-selectcheckboxmenu-panel,
[data-theme="dark"] .ui-selectonemenu-panel .ui-selectonemenu-filter-container,
[data-theme="dark"] .ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-header {
	border-color: var(--color-border);
	background: var(--color-surface);
	color: var(--color-text);
}

[data-theme="dark"] .ui-selectonemenu-panel .ui-selectonemenu-items .ui-selectonemenu-item,
[data-theme="dark"] .ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-items .ui-selectcheckboxmenu-item {
	background: transparent;
	color: var(--color-text);
}

[data-theme="dark"] .ui-selectonemenu-panel .ui-selectonemenu-items .ui-selectonemenu-item.ui-state-hover,
[data-theme="dark"] .ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-items .ui-selectcheckboxmenu-item.ui-state-hover,
[data-theme="dark"] .ui-datepicker .ui-datepicker-calendar td > a:hover {
	background: var(--color-surface-muted);
	color: var(--color-text);
}

[data-theme="dark"] .ui-selectonemenu-panel .ui-selectonemenu-items .ui-selectonemenu-item.ui-state-highlight,
[data-theme="dark"] .ui-datepicker .ui-datepicker-calendar td > a.ui-state-active {
	background: var(--color-highlight-surface);
	color: var(--color-highlight);
}

[data-theme="dark"] .ui-datatable .ui-datatable-data > tr,
[data-theme="dark"] .ui-datatable .ui-datatable-data > tr > td {
	border-color: var(--color-border);
	background: var(--color-surface);
	color: var(--color-text);
}

[data-theme="dark"] .ui-datatable .ui-datatable-data > tr.ui-state-hover {
	background: var(--color-surface-muted);
	color: var(--color-text);
}

[data-theme="dark"] .ui-datatable .ui-datatable-data > tr.ui-state-highlight {
	background: var(--color-highlight-surface);
	color: var(--color-highlight);
}

[data-theme="dark"] .ui-datepicker .ui-datepicker-calendar td > a,
[data-theme="dark"] .ui-datepicker .ui-datepicker-calendar td > span {
	color: var(--color-text);
}

[data-theme="dark"] .ui-dialog .ui-dialog-titlebar,
[data-theme="dark"] .ui-dialog .ui-dialog-content,
[data-theme="dark"] .ui-dialog .ui-dialog-footer {
	background: var(--color-surface);
	color: var(--color-text);
}

[data-theme="dark"] .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon {
	color: var(--color-text-muted);
}

[data-theme="dark"] .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover {
	background: var(--color-surface-muted);
	color: var(--color-text);
}
