.onecs-a11y-skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 2147483647;
	padding: 12px 18px;
	background: #fff;
	color: #111;
	border: 3px solid #111;
	border-radius: 8px;
	font: 700 15px/1.2 Arial, Helvetica, sans-serif;
	transform: translateY(-180%);
	transition: transform .15s ease;
}

.onecs-a11y-skip-link:focus { transform: translateY(0); }

#onecs-a11y-root,
#onecs-a11y-root * { box-sizing: border-box; }

#onecs-a11y-root.onecs-a11y {
	position: fixed;
	bottom: 22px;
	z-index: 2147483000;
	color: #111827;
	font: 400 16px/1.35 Arial, Helvetica, sans-serif !important;
}

#onecs-a11y-root.onecs-a11y--right { right: 22px; }
#onecs-a11y-root.onecs-a11y--left { left: 22px; }

#onecs-a11y-root button,
#onecs-a11y-root a {
	font-family: Arial, Helvetica, sans-serif !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

#onecs-a11y-root .onecs-a11y__toggle {
	display: grid !important;
	place-items: center !important;
	width: 62px !important;
	height: 62px !important;
	min-width: 62px !important;
	min-height: 62px !important;
	margin: 0 0 0 auto !important;
	padding: 0 !important;
	border: 4px solid #fff !important;
	border-radius: 50% !important;
	background: linear-gradient(145deg, var(--onecs-a11y-accent, #EA1E2C), #bd1020) !important;
	color: #fff !important;
	box-shadow: 0 9px 28px rgba(2, 38, 66, .30) !important;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease !important;
}

#onecs-a11y-root.onecs-a11y--left .onecs-a11y__toggle { margin-left: 0 !important; }
#onecs-a11y-root .onecs-a11y__toggle:hover { transform: translateY(-2px); box-shadow: 0 13px 32px rgba(2, 38, 66, .36) !important; }
#onecs-a11y-root .onecs-a11y__toggle svg { width: 31px; height: 31px; fill: currentColor; }

#onecs-a11y-root .onecs-a11y__panel {
	position: absolute;
	right: 0;
	bottom: 76px;
	display: flex;
	flex-direction: column;
	width: min(500px, calc(100vw - 28px));
	max-height: calc(100vh - 108px);
	max-height: calc(100dvh - 108px);
	overflow: hidden;
	background: #edf2f8;
	border: 1px solid rgba(2, 38, 66, .14);
	border-radius: 26px;
	box-shadow: 0 24px 70px rgba(2, 38, 66, .32);
	isolation: isolate;
}

#onecs-a11y-root.onecs-a11y--left .onecs-a11y__panel { right: auto; left: 0; }
#onecs-a11y-root .onecs-a11y__panel[hidden] { display: none !important; }

#onecs-a11y-root .onecs-a11y__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 0 0 auto;
	gap: 16px;
	min-height: 76px;
	padding: 14px 18px;
	border-top: 5px solid var(--onecs-a11y-accent, #EA1E2C);
	background: linear-gradient(135deg, var(--onecs-a11y-primary, #022642) 0%, #075184 100%);
	color: #fff;
}

#onecs-a11y-root .onecs-a11y__brand,
#onecs-a11y-root .onecs-a11y__header-actions { display: flex; align-items: center; }
#onecs-a11y-root .onecs-a11y__brand { gap: 11px; min-width: 0; }
#onecs-a11y-root .onecs-a11y__header-actions { flex: 0 0 auto; gap: 8px; }

#onecs-a11y-root .onecs-a11y__brand-icon {
	display: grid;
	place-items: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #fff;
	color: var(--onecs-a11y-primary, #022642);
}

#onecs-a11y-root .onecs-a11y__brand-icon svg { width: 23px; height: 23px; fill: currentColor; }

#onecs-a11y-root .onecs-a11y__header h2 {
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font: 700 23px/1.2 Arial, Helvetica, sans-serif !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	white-space: nowrap;
}

#onecs-a11y-root .onecs-a11y__header-button,
#onecs-a11y-root .onecs-a11y__close {
	display: grid !important;
	place-items: center !important;
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: rgba(255, 255, 255, .08) !important;
	color: #fff !important;
	box-shadow: none !important;
	cursor: pointer;
}

#onecs-a11y-root .onecs-a11y__header-button:hover,
#onecs-a11y-root .onecs-a11y__close:hover { background: rgba(255, 255, 255, .18) !important; }
#onecs-a11y-root .onecs-a11y__header-button svg,
#onecs-a11y-root .onecs-a11y__close svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
#onecs-a11y-root .onecs-a11y__header-separator { width: 1px; height: 30px; margin: 0 2px; background: rgba(255, 255, 255, .38); }

#onecs-a11y-root .onecs-a11y__content {
	display: grid;
	gap: 13px;
	padding: 15px;
	overflow: auto;
	overscroll-behavior: contain;
	scrollbar-color: #a7b5c5 transparent;
	scrollbar-width: thin;
}

#onecs-a11y-root .onecs-a11y__group {
	margin: 0;
	padding: 15px;
	background: rgba(255, 255, 255, .96);
	border: 1px solid rgba(2, 38, 66, .06);
	border-radius: 19px;
	box-shadow: 0 8px 22px rgba(2, 38, 66, .055);
}

#onecs-a11y-root .onecs-a11y__group h3 {
	margin: 0 0 11px !important;
	padding: 0 !important;
	color: #263748 !important;
	font: 700 17px/1.25 Arial, Helvetica, sans-serif !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

#onecs-a11y-root .onecs-a11y__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

#onecs-a11y-root .onecs-a11y__grid button {
	display: flex !important;
	align-items: center !important;
	gap: 11px !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 70px !important;
	margin: 0 !important;
	padding: 10px 12px !important;
	border: 1px solid transparent !important;
	border-radius: 14px !important;
	background: #f2f4f7 !important;
	color: #111827 !important;
	box-shadow: none !important;
	font: 700 14px/1.25 Arial, Helvetica, sans-serif !important;
	text-align: left !important;
	cursor: pointer;
	transition: border-color .16s ease, background-color .16s ease, transform .16s ease !important;
}

#onecs-a11y-root .onecs-a11y__grid button:hover {
	border-color: rgba(2, 38, 66, .25) !important;
	background: #e9eef4 !important;
	transform: translateY(-1px);
}

#onecs-a11y-root .onecs-a11y__grid button[aria-pressed="true"] {
	border-color: var(--onecs-a11y-accent, #EA1E2C) !important;
	background: #fff1f2 !important;
	box-shadow: inset 0 0 0 1px var(--onecs-a11y-accent, #EA1E2C) !important;
}

#onecs-a11y-root .onecs-a11y__grid button > span:last-child {
	min-width: 0;
	white-space: normal !important;
	overflow-wrap: anywhere;
}

#onecs-a11y-root .onecs-a11y__control-icon {
	position: relative;
	display: grid;
	place-items: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff;
	color: var(--onecs-a11y-primary, #022642);
	box-shadow: 0 2px 8px rgba(2, 38, 66, .07);
}

#onecs-a11y-root button[aria-pressed="true"] .onecs-a11y__control-icon { color: var(--onecs-a11y-accent, #EA1E2C); }
#onecs-a11y-root .onecs-a11y__control-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
#onecs-a11y-root .onecs-a11y__control-icon .onecs-a11y__icon-fill { fill: currentColor; stroke: none; opacity: .30; }
#onecs-a11y-root .onecs-a11y__control-icon strong { font: 700 23px/1 Arial, Helvetica, sans-serif; }
#onecs-a11y-root .onecs-a11y__control-icon small { position: absolute; top: 6px; right: 6px; font: 700 13px/1 Arial, Helvetica, sans-serif; }
#onecs-a11y-root .onecs-a11y__control-icon--letters { font: 700 18px/1 Arial, Helvetica, sans-serif; }

#onecs-a11y-root .onecs-a11y__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 0 0 auto;
	gap: 12px;
	min-height: 48px;
	padding: 11px 19px;
	background: linear-gradient(135deg, var(--onecs-a11y-primary, #022642) 0%, #075184 100%);
	color: #fff;
}

#onecs-a11y-root .onecs-a11y__footer a { color: #fff !important; font: 700 12px/1.2 Arial, Helvetica, sans-serif !important; text-decoration: underline !important; }
#onecs-a11y-root .onecs-a11y__signature { margin-left: auto; color: #fff; font: 700 13px/1.2 Arial, Helvetica, sans-serif; }
#onecs-a11y-root .onecs-a11y__signature small { margin-left: 4px; color: rgba(255, 255, 255, .72); font: 400 11px/1.2 Arial, Helvetica, sans-serif; }

#onecs-a11y-root .onecs-a11y__toggle:focus-visible,
#onecs-a11y-root button:focus-visible,
#onecs-a11y-root a:focus-visible { outline: 4px solid #ffdf00 !important; outline-offset: 3px !important; }

body.onecs-a11y-contrast,
body.onecs-a11y-contrast *:not(#onecs-a11y-root):not(#onecs-a11y-root *) {
	background-color: #000 !important;
	background-image: none !important;
	color: #fff !important;
	border-color: #fff !important;
}

body.onecs-a11y-contrast a:not(#onecs-a11y-root a) { color: #ffdf00 !important; }
body.onecs-a11y-grayscale > *:not(#onecs-a11y-root) { filter: grayscale(1) !important; }
body.onecs-a11y-links a:not(#onecs-a11y-root a) { text-decoration: underline !important; text-decoration-thickness: 3px !important; text-underline-offset: 3px !important; }
body.onecs-a11y-readable :not(#onecs-a11y-root):not(#onecs-a11y-root *) { font-family: Arial, Helvetica, sans-serif !important; }
body.onecs-a11y-spacing p,
body.onecs-a11y-spacing li,
body.onecs-a11y-spacing blockquote,
body.onecs-a11y-spacing td,
body.onecs-a11y-spacing th { line-height: 1.85 !important; letter-spacing: .04em !important; word-spacing: .12em !important; }
body.onecs-a11y-animations *,
body.onecs-a11y-animations *::before,
body.onecs-a11y-animations *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
body.onecs-a11y-images img:not(#onecs-a11y-root img),
body.onecs-a11y-images picture:not(#onecs-a11y-root picture),
body.onecs-a11y-images svg:not(#onecs-a11y-root svg) { visibility: hidden !important; }
body.onecs-a11y-cursor,
body.onecs-a11y-cursor * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='48' viewBox='0 0 36 48'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='2' d='M3 2l28 26-14 2 8 14-7 4-8-14-8 11z'/%3E%3C/svg%3E") 3 2, auto !important; }

@media (max-width: 520px) {
	#onecs-a11y-root.onecs-a11y { bottom: 14px; }
	#onecs-a11y-root.onecs-a11y--right { right: 12px; }
	#onecs-a11y-root.onecs-a11y--left { left: 12px; }
	#onecs-a11y-root .onecs-a11y__toggle { width: 58px !important; height: 58px !important; min-width: 58px !important; min-height: 58px !important; }
	#onecs-a11y-root .onecs-a11y__panel { bottom: 70px; width: calc(100vw - 24px); max-height: calc(100vh - 96px); max-height: calc(100dvh - 96px); border-radius: 21px; }
	#onecs-a11y-root .onecs-a11y__header { min-height: 70px; padding: 11px 13px; }
	#onecs-a11y-root .onecs-a11y__brand { gap: 8px; }
	#onecs-a11y-root .onecs-a11y__brand-icon { flex-basis: 34px; width: 34px; height: 34px; }
	#onecs-a11y-root .onecs-a11y__header h2 { font-size: 19px !important; }
	#onecs-a11y-root .onecs-a11y__header-button,
	#onecs-a11y-root .onecs-a11y__close { width: 36px !important; height: 36px !important; min-width: 36px !important; min-height: 36px !important; }
	#onecs-a11y-root .onecs-a11y__content { gap: 9px; padding: 10px; }
	#onecs-a11y-root .onecs-a11y__group { padding: 11px; border-radius: 15px; }
	#onecs-a11y-root .onecs-a11y__group h3 { margin-bottom: 8px !important; font-size: 15px !important; }
	#onecs-a11y-root .onecs-a11y__grid { gap: 8px; }
	#onecs-a11y-root .onecs-a11y__grid button { min-height: 64px !important; gap: 7px !important; padding: 8px !important; border-radius: 12px !important; font-size: 12px !important; }
	#onecs-a11y-root .onecs-a11y__control-icon { flex-basis: 36px; width: 36px; height: 36px; }
	#onecs-a11y-root .onecs-a11y__control-icon svg { width: 22px; height: 22px; }
	#onecs-a11y-root .onecs-a11y__control-icon strong { font-size: 20px; }
	#onecs-a11y-root .onecs-a11y__control-icon small { top: 4px; right: 4px; font-size: 11px; }
	#onecs-a11y-root .onecs-a11y__control-icon--letters { font-size: 16px; }
	#onecs-a11y-root .onecs-a11y__footer { min-height: 43px; padding: 9px 14px; }
	#onecs-a11y-root .onecs-a11y__signature { font-size: 12px; }
}

@media (max-width: 350px) {
	#onecs-a11y-root .onecs-a11y__grid { grid-template-columns: 1fr; }
	#onecs-a11y-root .onecs-a11y__header h2 { font-size: 17px !important; }
	#onecs-a11y-root .onecs-a11y__brand-icon { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	#onecs-a11y-root *,
	#onecs-a11y-root *::before,
	#onecs-a11y-root *::after { transition: none !important; animation: none !important; }
}
