body, a, input, textarea, select {
	font-family: serif;
	font-style: normal;
	color: black;
}

body {
	font-size: 16px;
	color: #000;
	background-color: transparent;
}

a {
	font-size: 16px;
	padding: 0px 1px 0px 1px;
}

a:link {
	color: #30f;
	background-color: transparent;
}

a:visited {
	color: #30f;
	background-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
	a:hover {
		color: #f09;
		/*background-color: #FFFFFF;
		text-decoration: underline;
		*/
		background-color: #ffa;
	}
}

@media (hover: none), (pointer: coarse) {
	.nav-chip-link,
	.nav-btn,
	.nav-step-link,
	.nav-toggle-icon,
	.candidate-dashboard__window-chip.nav-chip-link,
	.candidate-dashboard__window-chip.is-active,
	.event-form-page .actions button,
	.event-form-page .actions .form-actions-link,
	#sign_in input[type="submit"] {
		-webkit-tap-highlight-color: transparent;
		transform: none;
		filter: none;
		transition: none !important;
	}

	.nav-chip-link:hover,
	.nav-chip-link:active,
	.nav-chip-link:focus,
	.nav-btn:hover,
	.nav-btn:active,
	.nav-btn:focus,
	.nav-btn--today:hover,
	.nav-btn--today:active,
	.nav-btn--today:focus,
	.nav-btn--today.is-current:hover,
	.nav-btn--today.is-current:active,
	.nav-btn--today.is-current:focus,
	.nav-step-link:hover,
	.nav-step-link:active,
	.nav-step-link:focus,
	.nav-toggle-icon:hover,
	.nav-toggle-icon:active,
	.nav-toggle-icon:focus,
	.candidate-dashboard__window-chip.nav-chip-link:hover,
	.candidate-dashboard__window-chip.nav-chip-link:active,
	.candidate-dashboard__window-chip.nav-chip-link:focus,
	.candidate-dashboard__window-chip.is-active:hover,
	.candidate-dashboard__window-chip.is-active:active,
	.candidate-dashboard__window-chip.is-active:focus,
	.event-form-page .actions button:hover,
	.event-form-page .actions button:active,
	.event-form-page .actions button:focus,
	.event-form-page .actions .form-actions-link:hover,
	.event-form-page .actions .form-actions-link:active,
	.event-form-page .actions .form-actions-link:focus,
	#sign_in input[type="submit"]:hover,
	#sign_in input[type="submit"]:active,
	#sign_in input[type="submit"]:focus {
		transform: none;
		filter: none;
		box-shadow: 0 1px 0 rgba(22, 63, 140, 0.3) !important;
	}

	.nav-toggle-icon:hover,
	.nav-toggle-icon:active,
	.nav-toggle-icon:focus {
		box-shadow: none !important;
	}

	.candidate-dashboard__window-chip.nav-chip-link:hover,
	.candidate-dashboard__window-chip.nav-chip-link:active,
	.candidate-dashboard__window-chip.nav-chip-link:focus {
		box-shadow: var(--cm-chip-shadow) !important;
		background-color: var(--cm-chip-bg) !important;
		border-color: var(--cm-chip-border) !important;
	}

	.candidate-dashboard__window-chip.is-active:hover,
	.candidate-dashboard__window-chip.is-active:active,
	.candidate-dashboard__window-chip.is-active:focus {
		box-shadow: var(--cm-chip-active-shadow) !important;
		background-color: var(--cm-chip-active-bg) !important;
		border-color: var(--cm-chip-active-border) !important;
	}

	.event-form-page .actions button:hover,
	.event-form-page .actions button:active,
	.event-form-page .actions button:focus {
		box-shadow: var(--ef-primary-shadow) !important;
		background-color: var(--ef-primary-bg) !important;
		border-color: var(--ef-primary-border) !important;
	}

	.event-form-page .actions .form-actions-link:hover,
	.event-form-page .actions .form-actions-link:active,
	.event-form-page .actions .form-actions-link:focus {
		box-shadow: var(--ef-link-shadow) !important;
		background-color: var(--ef-link-bg) !important;
		border-color: var(--ef-link-border) !important;
		text-decoration: none !important;
	}

	#sign_in input[type="submit"]:hover,
	#sign_in input[type="submit"]:active,
	#sign_in input[type="submit"]:focus {
		box-shadow: 0 8px 16px rgba(22, 63, 140, 0.32) !important;
	}
}

label {
	padding: 2px 10px 0px 10px;
	color: #17377c;
	background-color: #ffd28b;
}

input, textarea, select {
	font-size: 16px;
	font-style: normal;
}

button .show-when-enabled {
  display: initial;
}

button:disabled .show-when-enabled,
button[disabled] .show-when-enabled {
  display: none;
}

button .show-when-disabled {
  display: none;
}

button:disabled .show-when-disabled,
button[disabled] .show-when-disabled {
  display: initial;
}

div.field, div.actions {
	margin-bottom: 10px;
}

/* =========================
 * Event Form Page
 * ========================= */
.event-form-page .field {
	margin-bottom: 12px;
	padding: 8px 10px 10px 10px;
	border: 1px solid #c9d5e6;
	border-radius: 6px;
}

.event-form-page {
	/* event form actions palette */
	--ef-primary-bg: #4a79c8;
	--ef-primary-border: #315aa3;
	--ef-primary-hover-bg: #3a67b2;
	--ef-primary-hover-border: #17356f;
	--ef-primary-text: #ffffff;
	--ef-primary-shadow: 0 1px 2px rgba(24, 44, 88, 0.2);
	--ef-primary-hover-shadow: 0 0 0 3px rgba(63, 105, 191, 0.3), 0 6px 14px rgba(34, 62, 122, 0.24);
	--ef-primary-active-shadow: 0 0 0 3px rgba(63, 105, 191, 0.32), 0 5px 12px rgba(34, 62, 122, 0.22);
	--ef-link-bg: #53a95d;
	--ef-link-border: #32763a;
	--ef-link-hover-bg: #3e9148;
	--ef-link-hover-border: #2b6a33;
	--ef-link-text: #f7fff7;
	--ef-link-shadow: 0 1px 2px rgba(24, 44, 88, 0.2);
	--ef-link-hover-shadow: 0 0 0 3px rgba(45, 128, 54, 0.34), 0 6px 14px rgba(34, 92, 40, 0.28);
	--ef-link-active-shadow: 0 0 0 3px rgba(45, 128, 54, 0.36), 0 5px 12px rgba(34, 92, 40, 0.28);
	width: 100%;
	max-width: 500px;
	margin: 0;
	padding: 0 16px;
}

.event-form-page--new,
.event-form-page--edit {
	margin: 0 auto;
}

.event-form-page .field label {
	display: block;
	margin-bottom: 10px;
	font-size: 20px;
}

.event-form-page input[type="text"],
.event-form-page textarea,
.event-form-page select {
	font-size: 18px;
}

.event-form-page .date-controls select {
	font-size: 16px;
}

.event-form-page #event_category_id {
	font-size: 18px;
}

.event-form-page #event_name,
.event-form-page #event_amount {
	width: 100%;
	box-sizing: border-box;
	display: block;
}

.event-form-page .event-weekday {
	display: inline-block;
	padding: 2px 4px;
	font-size: 1.25em;
}

.event-form-page .actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
}

.event-form-page .actions button,
.event-form-page .actions .form-actions-link {
	font-size: 20px;
	flex: 0 0 auto;
	min-width: 128px;
	min-height: 40px;
	padding: 7px 14px;
	border-radius: 999px;
	font-weight: 700;
	box-sizing: border-box;
	text-decoration: none;
	transition: background 120ms ease, border-color 120ms ease, box-shadow 120ms ease, color 120ms ease, filter 120ms ease;
}

.event-form-page .actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ef-primary-border);
	background-color: var(--ef-primary-bg);
	color: var(--ef-primary-text);
	box-shadow: var(--ef-primary-shadow);
}

.event-form-page .actions button:hover {
	box-shadow: var(--ef-primary-hover-shadow);
	filter: brightness(1.12) saturate(1.08);
}

.event-form-page .actions button:active,
.event-form-page .actions button:focus {
	outline: none;
	box-shadow: var(--ef-primary-active-shadow);
}

.event-form-page .actions button:hover,
.event-form-page .actions button:active,
.event-form-page .actions button:focus {
	border-color: var(--ef-primary-hover-border);
	background-color: var(--ef-primary-hover-bg);
	color: var(--ef-primary-text);
}

.event-form-page .actions .form-actions-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ef-link-border);
	background-color: var(--ef-link-bg);
	color: var(--ef-link-text);
	box-shadow: var(--ef-link-shadow);
	margin-left: auto;
}

.event-form-page .actions .form-actions-link:link,
.event-form-page .actions .form-actions-link:visited {
	color: var(--ef-link-text);
	text-decoration: none;
}

.event-form-page .actions .form-actions-link:hover {
	background-color: var(--ef-link-hover-bg);
	text-decoration: none;
	box-shadow: var(--ef-link-hover-shadow);
	filter: brightness(1.1) saturate(1.08);
}

.event-form-page .actions .form-actions-link:active,
.event-form-page .actions .form-actions-link:focus {
	outline: none;
	box-shadow: var(--ef-link-active-shadow);
}

.event-form-page .actions .form-actions-link:hover,
.event-form-page .actions .form-actions-link:active,
.event-form-page .actions .form-actions-link:focus {
	border-color: var(--ef-link-hover-border);
	background-color: var(--ef-link-hover-bg);
	color: var(--ef-link-text);
	text-decoration: none;
}

@media (min-width: 601px) {
	.event-form-page .date-controls button {
		padding: 0px 20px;
		font-size: 22px;
	}
}

@media (max-width: 600px) {
	.event-form-page {
		width: auto;
		max-width: 640px;
		margin: 0 auto;
		font-size: 18px;
		padding: 16px 18px calc(88px + env(safe-area-inset-bottom)) 18px;
	}

	.event-form-page h1 {
		font-size: 26px;
	}

	.event-form-page input[type="text"],
	.event-form-page textarea,
	.event-form-page select {
		width: 100%;
		box-sizing: border-box;
		padding: 6px 8px;
	}

	.event-form-page .date-controls {
		display: flex;
		flex-direction: column;
		gap: 6px;
		align-items: stretch;
	}

	.event-form-page .date-controls .date-row {
		display: flex;
		flex-wrap: nowrap;
		gap: 4px;
		align-items: center;
	}

	.event-form-page .date-controls select {
		flex: 0 0 auto;
		min-width: 0;
	}

	.event-form-page .date-controls .date-row select {
		width: auto;
	}

	.event-form-page .date-controls .event-weekday {
		flex: 0 0 auto;
		padding: 2px 6px;
		font-size: 1.35em;
	}

	.event-form-page .date-controls .date-nav {
		display: flex;
		gap: 4px;
	}

	.event-form-page .date-controls button {
		flex: 1 1 48%;
		padding: 8px 12px;
		font-size: 22px;
	}

	.event-form-page input[type="text"],
	.event-form-page textarea,
	.event-form-page select {
		font-size: 22px;
	}

	.event-form-page .date-controls select {
		font-size: 20px;
	}

	.event-form-page #event_category_id {
		font-size: 22px;
	}

	.event-form-page .actions button,
	.event-form-page .actions .form-actions-link {
		font-size: 22px;
		min-width: 120px;
		padding: 10px 14px;
	}

	#candidates ul li {
		font-size: 18px !important;
	}

	.event-form-page .page-actions {
		margin-top: 16px;
		padding-top: 8px;
		border-top: 1px dashed #c9d5e6;
	}

	.event-form-page .page-actions a {
		display: inline-block;
		padding: 6px 8px;
		font-size: 18px;
	}
}

/* =========================
 * Main/Search Tables
 * ========================= */
#main_table,
#search_result_table {
	display: table;
	border: 1px solid red;
}

#main_table tr {
	background-color: #f6f6ff;
}

#main_table tr.header {
	background-color: #5a5cad;
	font-size: 24px;
	color: white;
}

#main_table tr.order {
	background-color: #b2b8d8;
	color: #1c1c1c;
}

#main_table tr.total {
	text-align: center;
}

#main_table tr.hl {
	background-color: #ff6769;
}

#main_table th {
	white-space: nowrap;
	padding: 3px 3px 3px 3px;
	font-weight: normal;
}

#main_table th a {
	text-decoration: none;
	padding: 4px;
	display: block;
}

#main_table th a:hover {
	border: 0;
}

#main_table th.sort_by {
	border: 3px solid red;
	padding: 0;
	background-color: #def0ff;
}

#main_table td,
#search_result_table td {
	padding: 6px 10px 2px 10px;
	color: #221b51;
}

#main_table td pre {
	margin: 0;
	padding: 0;
	font-family: serif;
}

#main_table td.sep {
	/*border-top: 1px solid #ed7756;
	*/
	border-top: 5px solid #c9d5e6;
}

#main_table td.total {
	background-color: #fe9580;
}

#main_table td.ed,
#main_table td.del,
#search_result_table td.ed,
#search_result_table td.del {
	background-color: #abd0f8;
	text-align: center;
}

:is(#main_table, #search_result_table) :is(td.ed a.row-action-btn, td.del .row-action-btn) {
	display: inline-block;
	min-width: 34px;
	width: 34px;
	height: 21px;
	padding: 2px 0;
	margin: 0;
	border: 1px solid #315aa3;
	border-radius: 6px;
	-webkit-appearance: none;
	appearance: none;
	color: #ffffff !important;
	font-size: 0;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
	vertical-align: middle;
	transition: background-color 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}

:is(#main_table, #search_result_table) :is(td.ed a.row-action-btn, td.del .row-action-btn)::before {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	margin: 0 auto;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 15px 15px;
}

:is(#main_table, #search_result_table) td.del form {
	display: inline-block;
	margin: 0;
	line-height: 0;
	vertical-align: middle;
}

:is(#main_table, #search_result_table) .row-action-btn--edit::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z'/%3E%3C/svg%3E");
}

:is(#main_table, #search_result_table) .row-action-btn--edit {
	background-color: #2f7dff !important;
	border-color: #1658c0;
}

:is(#main_table, #search_result_table) .row-action-btn--edit:hover {
	background-color: #1f5cf0 !important;
	border-color: #1658c0;
	box-shadow: 0 0 0 2px rgba(36, 103, 234, 0.39), 0 3px 8px rgba(20, 62, 154, 0.35);
	filter: brightness(1.08) saturate(1.06);
}

:is(#main_table, #search_result_table) .row-action-btn--destroy {
	background-color: #ff3f3f !important;
	border-color: #c32020;
}

:is(#main_table, #search_result_table) .row-action-btn--destroy::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M6 6l1 14h10l1-14'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3C/svg%3E");
}

:is(#main_table, #search_result_table) .row-action-btn--destroy:hover {
	background-color: #e02525 !important;
	border-color: #c32020;
	box-shadow: 0 0 0 2px rgba(227, 48, 48, 0.39), 0 0 6px rgba(150, 24, 24, 0.30);
	filter: brightness(1.08) saturate(1.06);
}

#main_table td.stat {
	white-space: nowrap;
	background-color: #ffa0b2;
}

#main_table td.cat {
	white-space: nowrap;
	text-align: center;
}

#main_table tr.total,
#search_result_table tr.total {
	text-align: center;
}

#search_result_table tr.total {
	font-size: large;
}

#search_result_table th {
	font-weight: normal;
	padding: 4px 10px 4px 10px;
	font-size: 18px;
	color: #1c1c1c;
	background-color: #b2b8d8;
}

#main_table td.total,
#search_result_table td.total {
	background-color: #fe9580;
}

#search_result_table td {
	background-color: #f6f6ff;
}

#search_result_table .search-source-badge {
	display: inline-block;
	margin-right: 6px;
	padding: 1px 6px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	vertical-align: baseline;
	user-select: none;
}

#search_result_table .search-source-badge::before {
	content: attr(data-label);
	color: #ffffff;
}

#search_result_table .search-source-badge--meili {
	background-color: #2f7dff;
}

#search_result_table .search-source-badge--sql {
	background-color: #2b7d4d;
}

#search_result_table td.dohl .search-result-name {
	display: inline;
}

#search_result_table mark,
#search_result_table mark.hl {
	color: red;
	background-color: #fcc;
}

#main_table td.sn,
#search_result_table td.sn {
	background-color: #ffef30;
	text-align: center;
}

/* =========================
 * Year Stat Helper
 * ========================= */
#year_stat_table_wrap {
	position: relative;
}

#year_stat_helper_container {
	position: absolute;
	z-index: 5;
	max-width: none;
	max-height: 70vh;
	overflow-y: auto;
	overflow-x: visible;
	border: 2px solid #6f6f6f;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
	background-color: #fffdf7;
	border-radius: 8px;
}

#year_stat_helper_table {
	--ysh-caption-bg: linear-gradient(90deg, #ec9e45 0%, #f7d4a3 100%);
	--ysh-caption-border: #dd9d53;
	--ysh-close-border: #d27614;
	--ysh-close-bg: #ea8f24;
	--ysh-close-hover-border: #b16316;
	--ysh-close-hover-bg: #d57b1d;
	--ysh-close-active-border: #9f540f;
	--ysh-close-active-bg: #c26917;
	--ysh-close-focus: #cf7716;
  font-size: 14px;
	border: 0;
	border-radius: 0;
	background-color: transparent;
	box-shadow: none;
	border-collapse: collapse;
	width: max-content;
}

#year_stat_helper_table th,
#year_stat_helper_table td {
	padding: 6px 8px;
	white-space: nowrap;
	border-right: 1px solid #e1d19a;
}

#year_stat_helper_table caption {
	padding: 6px 40px 6px 10px;
	font-weight: bold;
	font-size: 16px;
	color: #2a1500;
	text-align: left;
	background: var(--ysh-caption-bg);
	border-bottom: 2px solid var(--ysh-caption-border);
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
	white-space: nowrap;
	position: relative;
}

#year_stat_helper_table caption .year_stat_helper_caption_text {
	display: block;
}

#year_stat_helper_table caption .year_stat_helper_close {
	border: 1px solid var(--ysh-close-border);
	border-radius: 999px;
	padding: 0 6px;
	min-width: 20px;
	height: 20px;
	font-size: 0;
	line-height: 18px;
	font-weight: 700;
	color: #fff;
	background-color: var(--ysh-close-bg);
	cursor: pointer;
	position: absolute;
	top: 6px;
	right: 8px;
	display: inline-block;
	text-align: center;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.14);
}

#year_stat_helper_table caption .year_stat_helper_close:hover {
	background-color: var(--ysh-close-hover-bg);
	border-color: var(--ysh-close-hover-border);
}

#year_stat_helper_table caption .year_stat_helper_close::before {
	content: "\00d7";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) translateY(-0.5px);
	font-size: 14px;
	line-height: 1;
	font-family: Arial, sans-serif;
	color: #fff;
}

#year_stat_helper_table caption .year_stat_helper_close:active {
	background-color: var(--ysh-close-active-bg);
	border-color: var(--ysh-close-active-border);
}

#year_stat_helper_table caption .year_stat_helper_close:focus-visible {
	outline: 2px solid var(--ysh-close-focus);
	outline-offset: 2px;
}

#year_stat_helper_table th {
	background-color: #ffd166;
	color: #2d2d2d;
	font-weight: bold;
	border-bottom: 1px solid #e0a43e;
}

#year_stat_helper_table td {
	border-bottom: 1px solid #f0bf55;
}

#year_stat_helper_table tbody tr:nth-child(even) td {
	background-color: #ffe3a6;
}

#year_stat_helper_table th:last-child,
#year_stat_helper_table td:last-child {
	border-right: 0;
}

/* =========================
 * Nav Panel
 * ========================= */
#nav {
	--nav-bg-top: rgba(236, 242, 252, 0.98);
	--nav-bg-bottom: rgba(223, 233, 248, 0.98);
	--nav-border: #8ea7cf;
	--btn-bg: #4a79c8;
	--btn-bg-hover: #3a67b2;
	--btn-border: #315aa3;
	--btn-text: #ffffff;
	--btn-danger-bg: #cd5a5a;
	--btn-danger-hover: #b84949;
	--btn-danger-border: #9f3a3a;
	--btn-hover-ring: rgba(30, 78, 168, 0.34);
	--btn-hover-ring-danger: rgba(161, 31, 31, 0.38);
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 20;
	padding: 7px;
	padding-top: 9px;
	padding-right: 40px;
	border: 2px solid var(--nav-border);
	border-radius: 10px;
	background: linear-gradient(180deg, var(--nav-bg-top), var(--nav-bg-bottom));
	box-shadow:
		0 14px 30px rgba(17, 54, 124, 0.28),
		0 4px 10px rgba(17, 54, 124, 0.2),
		0 0 0 3px rgba(142, 167, 207, 0.26);
	backdrop-filter: blur(4px);
}

#toggle_block {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.nav-toggle-icon {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 1px solid var(--btn-border);
	border-radius: 7px;
	background-color: var(--btn-bg) !important;
	cursor: pointer;
	transition: background-color 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}

.nav-toggle-icon::before {
	content: "";
	display: block;
	width: 14px;
	height: 10px;
	margin: 10px auto 0;
	background-image:
		linear-gradient(var(--btn-text), var(--btn-text)),
		linear-gradient(var(--btn-text), var(--btn-text)),
		linear-gradient(var(--btn-text), var(--btn-text));
	background-size: 14px 2px, 14px 2px, 14px 2px;
	background-position: 0 0, 0 4px, 0 8px;
	background-repeat: no-repeat;
}

.nav-toggle-icon:hover {
	background-color: var(--btn-bg-hover) !important;
	border-color: #123675;
	box-shadow: 0 0 0 3px var(--btn-hover-ring), 0 3px 8px rgba(20, 56, 120, 0.32);
	filter: brightness(1.16) saturate(1.12);
}

.nav-toggle-icon:focus-visible {
	outline: 2px solid #1e429f;
	outline-offset: 1px;
}

#nav_list .nav-step-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.nav-action-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.nav-chip-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
}

.nav-chip-list--secondary {
	padding-left: 8px;
	margin-left: 2px;
	border-left: 1px dashed #9bb0d1;
}

.nav-chip-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 3px 7px;
	border: 1px solid var(--btn-border);
	border-radius: 999px;
	background-color: var(--btn-bg) !important;
	color: var(--btn-text) !important;
	text-decoration: none;
	font-size: 13px;
	line-height: 1.2;
	box-sizing: border-box;
	font-weight: 700;
	box-shadow: 0 1px 0 rgba(22, 63, 140, 0.3);
	transition: background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}

.nav-chip-link:link,
.nav-chip-link:visited,
.nav-btn:link,
.nav-btn:visited,
.nav-step-link:link,
.nav-step-link:visited {
	color: var(--btn-text) !important;
	text-decoration: none;
}

.nav-chip-link:hover,
.nav-btn:hover,
.nav-btn--today:hover,
.nav-btn--today.is-current:hover {
	background-color: var(--btn-bg-hover) !important;
	border-color: var(--btn-border);
	color: var(--btn-text) !important;
	box-shadow: 0 0 0 3px var(--btn-hover-ring), 0 3px 8px rgba(20, 56, 120, 0.32);
	filter: brightness(1.16) saturate(1.12);
}

.nav-chip-link:hover {
	text-decoration: none;
}

.nav-chip-link--danger {
	background-color: var(--btn-danger-bg) !important;
	border-color: var(--btn-danger-border);
}

.nav-chip-link--danger:link,
.nav-chip-link--danger:visited {
	color: #fff8f8;
}

.nav-chip-link--danger:hover {
	background-color: var(--btn-danger-hover) !important;
	border-color: var(--btn-danger-border);
	color: #fff8f8;
	box-shadow: 0 0 0 3px var(--btn-hover-ring-danger), 0 3px 8px rgba(119, 14, 14, 0.34);
	filter: brightness(1.14) saturate(1.1);
}

.nav-chip-link--home {
	background-color: #53a95d !important;
	border-color: #32763a;
	color: #f7fff7 !important;
}

.nav-chip-link--home:link,
.nav-chip-link--home:visited {
	color: #f7fff7 !important;
}

.nav-chip-link--home:hover {
	background-color: #3e9148 !important;
	border-color: #2b6a33;
	color: #f7fff7 !important;
	box-shadow: 0 0 0 3px rgba(45, 128, 54, 0.34), 0 3px 8px rgba(34, 92, 40, 0.28);
	filter: brightness(1.12) saturate(1.08);
}

.nav-chip-link--icon {
	min-width: 34px;
	padding: 3px 8px;
}

.nav-chip-icon {
	display: inline-block;
	width: 14px;
	height: 14px;
	position: relative;
}

.nav-chip-icon--monitor::before,
.nav-chip-icon--monitor::after {
	content: "";
	position: absolute;
	box-sizing: border-box;
}

.nav-chip-icon--monitor::before {
	left: 0;
	top: 1px;
	width: 14px;
	height: 10px;
	border: 2px solid rgba(255, 255, 255, 0.98);
	border-radius: 2px;
}

.nav-chip-icon--monitor::after {
	left: 4px;
	bottom: 0;
	width: 6px;
	height: 2px;
	background-color: rgba(255, 255, 255, 0.98);
	border-radius: 2px;
}

#nav_list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1px;
}

#nav_list .nav-step-list {
	display: grid;
	grid-template-columns: 26px auto 26px;
	align-items: center;
	justify-content: center;
	gap: 3px;
}

.nav-step-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 24px;
	padding: 0;
	border: 1px solid var(--btn-border);
	border-radius: 5px;
	background-color: var(--btn-bg) !important;
	color: var(--btn-text) !important;
	text-align: center;
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	box-sizing: border-box;
	box-shadow: 0 1px 0 rgba(22, 63, 140, 0.3);
	transition: background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}

.nav-step-link:hover {
	background-color: var(--btn-bg-hover) !important;
	color: var(--btn-text) !important;
	text-decoration: none;
	box-shadow: 0 0 0 3px var(--btn-hover-ring), 0 3px 8px rgba(20, 56, 120, 0.32);
	filter: brightness(1.16) saturate(1.12);
}

.nav-current {
	padding: 0 2px;
	font-weight: 700;
	text-align: center;
	color: #1f3761;
	white-space: nowrap;
	font-size: 14px;
	line-height: 1.2;
	min-width: 0;
}

.nav-current--month {
	min-width: 20px;
}

/* =========================
 * Stat Table
 * ========================= */
#stat_table_container {
	position: absolute;
	background-color: white;
	display: none;
}

#stat_table {
	font-size: 14px;
	display: table;
	border: 1px solid black;
}

#stat_table tr {
	background-color: #f6f6ff;
}

#stat_table tr.header {
	background-color: #5a5cad;
	font-size: 18px;
	color: white;
}

#stat_table tr.total {
	background-color: #fe9580;
}

#stat_table tr.title_tr {
	background-color: #b2b8d8;
	color: #1c1c1c;
}

#stat_table tr.month_tr {
	cursor: pointer;
}

#stat_table tr.total {
	text-align: center;
}

#stat_table th {
	font-weight: normal;
	padding: 0px 5px 0px 5px;
}

#stat_table th.pointer {
	cursor: pointer;
}

#stat_table th.ystat {
	background-color: #829dff;
	padding: 5px 0px 5px 0px;
	text-align: center;
}

#stat_table td {
	padding: 0px 5px 0px 5px;
	color: #221b51;
}

#stat_table td.month_total {
	background-color: #ffcdea;
	text-align: right;
}

#stat_table td.month_a, #stat_table td.month_b {
	background-color: #ccd3f8;
	text-align: center;
}

#stat_table td.stat {
	background-color: #c7eeb8;
}

#stat_table td.ystat {
	padding: 8px 0px 8px 0px;
	background-color: #c7eeb8;
	text-align: center;
}

#stat_table td.mouseover {
	background-color: #fefe73;
}

#stat_table td.mouseover2 {
	background-color: #ffd21e !important;
}

#stat_table td.qrefed {
	color: white;
	background-color: #5da5fe !important;
}

#stat_table td.selected {
	background-color: #fe8472;
}

#year_stat_table {
	border-collapse: collapse;
	width: 100%;
	background-color: #f6f9ff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

#year_stat_table th,
#year_stat_table td {
	padding: 5px;
	border: 1px solid #c8d2f0;
}

#year_stat_table tr.title_tr th {
	background-color: #5f7ccf;
	color: #ffffff;
}

#year_stat_table tr.ystat_tr:nth-child(even) td {
	background-color: #eef2ff;
}

#year_stat_table td.ystat {
	background-color: #e3f1dc;
	text-align: center;
}

#year_stat_table td.ystat_year {
	font-size: 20px;
	font-weight: bold;
}

#year_stat_table td {
	color: #1e2140;
	text-align: right;
}

#year_stat_table th[cid="1"],
#year_stat_table td[cid="1"] {
/* 
	font-weight: bold;
 */
}

#year_stat_table th[cid="0"],
#year_stat_table th[cid="1"] {
	cursor: pointer;
	text-decoration: underline;
}

#year_stat_table th[cid="0"]:hover,
#year_stat_table th[cid="1"]:hover {
	background-color: #ffe7a3;
}

#year_stat_table td.ystat_selected {
	box-shadow: inset 3px 3px #fc4700, inset -3px 3px #fc4700, inset 3px -3px #fc4700, inset -3px -3px #fc4700;
	/*background-color: #fc4700 !important;*/
	font-weight: bold;
}

#year_stat_table td.ystat_year_selected {
  color: red;
  background-color: #fac593 !important;
  text-decoration: underline;
}

#year_stat_table td.ystat_helper_selected {
	box-shadow: inset 3px 3px #1aa6a0, inset -3px 3px #1aa6a0, inset 3px -3px #1aa6a0, inset -3px -3px #1aa6a0;
}

#year_stat_table td.ystat_max {
  background-color: #ffd58a !important;
  font-weight: bold;
}

#year_stat_chart {
	margin-bottom: 16px;
	padding: 10px 12px;
	background-color: #f3f6ff;
	border: 1px solid #c8d2f0;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

#year_stat_chart .chart_header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 6px;
	gap: 8px;
}

#year_stat_chart .chart_controls {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	flex-wrap: wrap;
}

#year_stat_chart .chart_controls button {
	padding: 6px 10px;
	border: 1px solid #b9c4e6;
	border-radius: 6px;
	background-color: #ffffff;
	color: #1e2140;
	cursor: pointer;
	position: relative;
	padding-left: 28px;
	font-weight: bold;
}

#year_stat_chart .chart_controls button:hover {
	background-color: #eaf0ff;
}

#year_stat_chart .chart_controls button::before {
	content: "";
	position: absolute;
	left: 10px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	transform: translateY(-50%);
	background-color: #d6dbe8;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.7);
}

#year_stat_chart .chart_controls .year_stat_close_btn {
	display: none;
	padding-left: 12px;
	background-color: #ffe1e1;
	border-color: #f1b1b1;
	color: #7a1c1c;
	font-weight: 700;
}

#year_stat_chart .chart_controls .year_stat_close_btn::before {
	display: none;
}

#year_stat_chart .chart_controls .year_stat_close_btn:hover {
	background-color: #ffd2d2;
}

#year_stat_chart.mode_cid1 .chart_controls button {
	background-color: #e6f1fb;
	border-color: #9fc2e6;
	color: #1c4b75;
}

#year_stat_chart.mode_cid1 .chart_controls button:hover {
	background-color: #d4e7f8;
}

#year_stat_chart.mode_cid1 .chart_controls button::before {
	background-color: #4da3e4;
}

#year_stat_chart.mode_cid0 .chart_controls button {
	background-color: #e7f6ec;
	border-color: #9bd2ad;
	color: #1f5a34;
}

#year_stat_chart.mode_cid0 .chart_controls button:hover {
	background-color: #d6f0de;
}

#year_stat_chart.mode_cid0 .chart_controls button::before {
	background-color: #37b46b;
}

@media (max-width: 600px), (max-height: 500px) {
	#year_stat_chart .chart_controls .year_stat_close_btn {
		display: inline-flex;
		align-items: center;
	}
}

#year_stat_chart .chart_title {
	font-size: 22px;
	color: #1e2140;
	margin-bottom: 0;
}

#year_stat_chart .axis {
	stroke: #7a88b8;
	stroke-width: 1;
}

#year_stat_chart .bar {
	fill: #6daedb;
	cursor: pointer;
}

#year_stat_chart .bar_top {
	fill: #2d91db;
}

#year_stat_chart .bar.max {
	fill: #f4a261;
}

#year_stat_chart .bar_top.max {
	fill: #f28a38;
}

#year_stat_chart .bar_outline {
	fill: none;
	pointer-events: none;
}

#year_stat_chart .bar_outline.selected {
	stroke: #fc4700;
	stroke-width: 3;
	filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.2));
}

#year_stat_chart .label {
	fill: #1e2140;
	font-size: 13px;
}

#year_stat_chart .year_label_bg {
	fill: #e9efff;
	stroke: #c8d2f0;
	stroke-width: 1;
}

#year_stat_chart .year_label_bg.selected {
	fill: #ffe2b8;
	stroke: #f3b66a;
}

#year_stat_chart .year_label {
	font-size: 13px;
	font-weight: 700;
	fill: #1e2140;
	stroke: #f3f6ff;
	stroke-width: 2px;
	paint-order: stroke fill;
	cursor: pointer;
}

#year_stat_chart .year_label.selected {
	fill: #fc4700;
	font-weight: 700;
	stroke: #fff1d6;
}

#year_stat_chart .value_outline {
/* 
	stroke: #d35400;
	stroke-width: 1;
	fill: none;
 */
}

#toggle_stat_table_form form {
	padding: 0;
	margin: 0;
}

#nav #search {
	margin: 0;
	width: 100%;
}

#nav #search form {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto 5ch;
	align-items: center;
	gap: 6px;
	padding: 0;
	margin: 0;
	width: 100%;
}

@media (min-width: 601px) {
	#nav #search {
		margin-right: -18px;
		padding-right: 18px;
	}
}

#nav #search label {
	padding: 0;
	font-size: 12px;
	line-height: 24px;
	color: #1f3761;
	background-color: transparent;
}

#nav #search input[type="text"] {
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
	height: 26px;
	padding: 1px 6px;
	border: 1px solid #8fa4c8;
	border-radius: 6px;
	background-color: #ffffff;
	color: #142947;
}

#nav #search #found_count {
	display: inline-block;
	width: 5ch;
	font-size: 12px;
	line-height: 24px;
	color: #3c5175;
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

#select_ym {
	margin: 0;
}

#select_ym form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 3px;
	padding: 0;
	margin: 0;
}

.nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 3px 7px;
	border-radius: 6px;
	border: 1px solid var(--btn-border);
	background-color: var(--btn-bg) !important;
	color: var(--btn-text) !important;
	text-decoration: none;
	font-size: 13px;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
	font-weight: 700;
	height: 26px;
	box-shadow: 0 1px 0 rgba(22, 63, 140, 0.3);
	transition: background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}

.nav-btn,
input.nav-btn {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

input.nav-btn {
	display: inline-block;
	padding: 3px 7px;
	border-radius: 6px;
	border: 1px solid var(--btn-border);
	background-color: var(--btn-bg) !important;
	color: var(--btn-text) !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	height: 26px;
	box-sizing: border-box;
}

.nav-btn:hover {
	text-decoration: none;
}

.nav-btn--primary {
	background-color: var(--btn-bg) !important;
	border-color: var(--btn-border);
	color: var(--btn-text) !important;
}

.nav-btn--today,
.nav-btn--today.is-current {
	background-color: var(--btn-bg) !important;
	border-color: var(--btn-border);
	color: var(--btn-text) !important;
}

.nav-btn--today.is-current {
	font-weight: 700;
}

.nav-btn--icon {
	position: relative;
	width: 24px;
	padding: 0;
}

.nav-btn--icon::before {
	content: "";
	width: 9px;
	height: 9px;
	border: 2px solid currentColor;
	border-radius: 50%;
	position: absolute;
	left: 5px;
	top: 4px;
}

.nav-btn--icon::after {
	content: "";
	width: 6px;
	height: 2px;
	background-color: currentColor;
	position: absolute;
	left: 13px;
	top: 14px;
	transform: rotate(45deg);
	border-radius: 2px;
}

@media (max-width: 600px) {
	#nav {
		left: 8px;
		right: 8px;
		top: calc(env(safe-area-inset-top) + 8px);
		padding: 8px;
		padding-right: 44px;
	}

	#nav.is-collapsed {
		left: auto;
		right: 8px;
		top: calc(env(safe-area-inset-top) + 8px);
		width: 32px;
		height: 32px;
		padding: 0;
		border-radius: 9px;
		box-shadow:
			0 10px 22px rgba(17, 54, 124, 0.34),
			0 0 0 2px rgba(142, 167, 207, 0.34);
	}

	#nav.is-collapsed #toggle_block {
		display: none !important;
	}

	.nav-toggle-icon {
		width: 36px;
		height: 36px;
		right: 6px;
		top: 6px;
	}

	#nav.is-collapsed .nav-toggle-icon {
		width: 26px;
		height: 26px;
		top: 2px;
		right: 2px;
	}

	.nav-toggle-icon::before {
		width: 16px;
		height: 12px;
		margin: 12px auto 0;
		background-size: 16px 2px, 16px 2px, 16px 2px;
	}

	#nav.is-collapsed .nav-toggle-icon::before {
		width: 12px;
		height: 8px;
		margin: 9px auto 0;
		background-size: 12px 2px, 12px 2px, 12px 2px;
	}

	#toggle_block {
		min-width: 0;
	}

	.nav-action-row {
		gap: 6px;
	}

	.nav-chip-list--secondary {
		padding-left: 6px;
	}

	#button_list {
		gap: 6px;
	}

	.nav-chip-link,
	.nav-step-link,
	.nav-btn {
		font-size: 14px;
	}

	.nav-chip-link,
	.nav-btn {
		height: 34px;
		padding: 5px 11px;
	}

	.nav-step-link {
		width: 34px;
		height: 32px;
		font-size: 18px;
	}

	#nav_list .nav-step-list {
		grid-template-columns: 34px auto 34px;
		gap: 6px;
	}

	.nav-current {
		padding: 0 4px;
		font-size: 16px;
	}

	.nav-current--month {
		min-width: 28px;
	}

	.nav-btn--icon {
		width: 34px;
		padding: 0;
	}

	.nav-btn--icon::before {
		width: 12px;
		height: 12px;
		left: 8px;
		top: 7px;
	}

	.nav-btn--icon::after {
		width: 7px;
		height: 2px;
		left: 18px;
		top: 19px;
	}

	#select_ym form {
		gap: 4px;
	}

	#select_ym select {
		font-size: 16px;
		height: 34px;
	}

	#nav #search input[type="text"] {
		width: auto;
		height: 34px;
		font-size: 16px;
	}

	#nav #search {
		width: 100%;
	}

	#nav #search form {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto 5ch;
		align-items: center;
		gap: 6px;
		width: 100%;
	}

	#nav #search input[type="text"] {
		min-width: 0;
		width: 100%;
		box-sizing: border-box;
	}

	#nav #search label,
	#nav #search #found_count {
		font-size: 14px;
		line-height: 34px;
	}
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

#qref {
	font-weight: normal;
	position: absolute;
	background-color: #feffa1;
	padding: 8px;
	border: 1px solid silver;
	text-align: left;
}

#qref table {
	white-space: nowrap;
	border: 2px solid red;
}

#qref table th {
	text-align: center;
	white-space: nowrap;
	padding: 3px 3px 3px 3px;
	font-weight: normal;
	color: #1c1c1c;
	background-color: #b2b8d8;
}

#qref table th.header {
	background-color: #5a5cad;
	color: white;
}

#qref table th.sort_by {
	border: 3px solid red;
	padding: 0;
	background-color: #def0ff;
}

#qref td.total {
	background-color: #fe9580;
}

#qref td.sn {
	background-color: #ffef30;
	text-align: center;
}

#qref td.stat {
	white-space: nowrap;
	background-color: #ffa0b2;
}

#qref td.cat {
	white-space: nowrap;
	text-align: center;
}

#candidates ul {
	z-index: 999;
	position: absolute;
	overflow: hidden;
	margin: -10px 0px 0px 0px;
	padding: 5px 10px 0px 20px;
	border: 1px solid silver;
	background-color: #fafe88;
}

#candidates ul li {
	cursor: default;
	font-size: 16px;
	color: blue;
	padding: 0px 0px 0px 0px;
}

#candidates ul li.selected {
	color: red;
	background-color: #9aeaff;
}

#candidates ul li.selected span {
	color: blue;
}

.hide {
  display: none;
}

.hl {
	color: red;
	background-color: #fcc;
}

.nowrap {
	white-space: nowrap;
}

.right {
	text-align: right;
}

.center {
	text-align: center;
}

/* =========================
 * Candidate Dashboard
 * ========================= */
.candidate-dashboard {
	--btn-bg: #4a79c8;
	--btn-bg-hover: #3a67b2;
	--btn-border: #315aa3;
	--btn-text: #ffffff;
	--btn-hover-ring: rgba(30, 78, 168, 0.34);
	/* candidate metrics window chip palette */
	--cm-chip-bg: #3f78d9;
	--cm-chip-border: #2f62ba;
	--cm-chip-shadow: 0 0 0 2px rgba(63, 120, 217, 0.2), 0 2px 6px rgba(20, 56, 120, 0.24);
	--cm-chip-hover-bg: #5b8ce0;
	--cm-chip-hover-border: #3f72c8;
	--cm-chip-hover-ring: 0 0 0 3px rgba(96, 210, 255, 0.76), 0 4px 10px rgba(20, 56, 120, 0.3);
	--cm-chip-active-bg: #f2a032;
	--cm-chip-active-border: #c57515;
	--cm-chip-active-text: #402100;
	--cm-chip-active-shadow: 0 0 0 3px rgba(242, 160, 50, 0.52), 0 3px 10px rgba(158, 89, 16, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.28);
	--cm-chip-active-hover-bg: #f4b151;
	--cm-chip-active-hover-border: #d08121;
	--cm-chip-active-hover-ring: 0 0 0 3px rgba(96, 210, 255, 0.76), 0 4px 12px rgba(158, 89, 16, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.34);
	max-width: 1180px;
	margin: 14px auto 20px auto;
	padding: 14px;
	border-radius: 14px;
	border: 1px solid #87a8d6;
	background:
		radial-gradient(circle at 12% 8%, rgba(255, 251, 223, 0.86), transparent 44%),
		linear-gradient(160deg, #edf4ff 0%, #dceaff 53%, #ebf7ff 100%);
	box-shadow:
		0 16px 34px rgba(28, 67, 141, 0.16),
		0 2px 8px rgba(28, 67, 141, 0.12);
}

.candidate-dashboard__hero {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

.candidate-dashboard__hero h2 {
	margin: 0 0 4px 0;
	color: #143870;
}

.candidate-dashboard__subtitle {
	margin: 0;
	color: #2a4977;
	font-size: 14px;
	line-height: 1.45;
}

.candidate-dashboard__window-switch {
	margin-top: 8px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.candidate-dashboard__window-label {
	font-size: 12px;
	font-weight: 700;
	color: #1f457d;
}

.candidate-dashboard__window-chip {
	font-size: 13px;
}

.candidate-dashboard__window-chip.nav-chip-link,
.candidate-dashboard__window-chip.nav-chip-link:link,
.candidate-dashboard__window-chip.nav-chip-link:visited {
	background-color: var(--cm-chip-bg) !important;
	border-color: var(--cm-chip-border);
	color: var(--btn-text) !important;
	box-shadow: var(--cm-chip-shadow);
}

.candidate-dashboard__window-chip.nav-chip-link:hover {
	background-color: var(--cm-chip-hover-bg) !important;
	border-color: var(--cm-chip-hover-border);
	color: var(--btn-text) !important;
	box-shadow: var(--cm-chip-hover-ring);
}

.candidate-dashboard__window-chip.is-active,
.candidate-dashboard__window-chip.is-active:link,
.candidate-dashboard__window-chip.is-active:visited {
	background-color: var(--cm-chip-active-bg) !important;
	border-color: var(--cm-chip-active-border);
	color: var(--cm-chip-active-text) !important;
	box-shadow: var(--cm-chip-active-shadow);
}

.candidate-dashboard__window-chip.is-active:hover {
	background-color: var(--cm-chip-active-hover-bg) !important;
	border-color: var(--cm-chip-active-hover-border);
	color: var(--cm-chip-active-text) !important;
	box-shadow: var(--cm-chip-active-hover-ring) !important;
}

.candidate-dashboard__window-chip.nav-chip-link,
.candidate-dashboard__window-chip.nav-chip-link:link,
.candidate-dashboard__window-chip.nav-chip-link:visited,
.candidate-dashboard__window-chip.nav-chip-link:hover,
.candidate-dashboard__window-chip.is-active,
.candidate-dashboard__window-chip.is-active:link,
.candidate-dashboard__window-chip.is-active:visited,
.candidate-dashboard__window-chip.is-active:hover {
	filter: none !important;
}

.candidate-dashboard__window-chip.is-active,
.candidate-dashboard__window-chip.is-active:link,
.candidate-dashboard__window-chip.is-active:visited,
.candidate-dashboard__window-chip.is-active:hover {
	font-weight: 700;
}

.candidate-dashboard__home-btn {
	flex-shrink: 0;
}

.candidate-dashboard__kpi-grid {
	margin-top: 10px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.candidate-dashboard__kpi-card {
	padding: 10px;
	border: 1px solid #aac3e6;
	border-radius: 10px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(238, 246, 255, 0.9));
	box-shadow: 0 8px 18px rgba(30, 77, 157, 0.1);
}

.candidate-dashboard__kpi-title {
	margin: 0;
	font-size: 13px;
	color: #2b4778;
}

.candidate-dashboard__kpi-value {
	margin: 3px 0 0 0;
	font-size: 28px;
	line-height: 1.05;
	font-weight: 700;
	color: #153e82;
}

.candidate-dashboard__kpi-meta {
	margin: 5px 0 6px 0;
	font-size: 12px;
	color: #3d5783;
}

.candidate-dashboard__sparkline-wrap {
	height: 48px;
	border-radius: 8px;
	padding: 4px;
	background: linear-gradient(180deg, rgba(218, 231, 249, 0.56), rgba(238, 246, 255, 0.7));
	border: 1px solid #c6d8f2;
}

.candidate-dashboard__sparkline {
	width: 100%;
	height: 100%;
	display: block;
}

.candidate-dashboard__sparkline polyline {
	fill: none;
	stroke: #2f66bf;
	stroke-width: 4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.candidate-dashboard__trend-note {
	margin: 6px 0 0 0;
	font-size: 12px;
	font-weight: 700;
}

.candidate-dashboard__trend-note.is-up {
	color: #2b7f44;
}

.candidate-dashboard__trend-note.is-down {
	color: #b24242;
}

.candidate-dashboard__card {
	margin-top: 10px;
	padding: 10px 10px 12px 10px;
	border-radius: 10px;
	border: 1px solid #b5caea;
	background-color: rgba(255, 255, 255, 0.86);
}

.candidate-dashboard__card h3 {
	margin: 0 0 8px 0;
	color: #1f4478;
}

.event-candidate-metrics-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	overflow: hidden;
}

.event-candidate-metrics-table th,
.event-candidate-metrics-table td {
	padding: 6px 8px;
	border-bottom: 1px solid #d4e0f2;
	text-align: right;
	white-space: nowrap;
}

.event-candidate-metrics-table th:first-child,
.event-candidate-metrics-table td:first-child {
	text-align: left;
}

.event-candidate-metrics-table th {
	color: #1b3f73;
	background-color: #e4efff;
}

.event-candidate-metrics-table tbody tr:nth-child(even) td {
	background-color: #f5f9ff;
}

.event-candidate-metrics-table tbody tr:hover td {
	background-color: #e8f2ff;
}

@media (max-width: 600px) {
	.candidate-dashboard {
		margin: 10px 8px 16px 8px;
		padding: 10px;
		border-radius: 12px;
	}

	.candidate-dashboard__hero {
		flex-direction: row;
		align-items: flex-start;
	}

	.candidate-dashboard__home-btn {
		position: static;
		margin-left: auto;
		width: fit-content;
	}

	.candidate-dashboard__window-switch {
		gap: 5px;
	}

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

	.candidate-dashboard__card {
		padding: 8px;
		overflow-x: auto;
	}

	.event-candidate-metrics-table {
		font-size: 13px;
		min-width: 760px;
	}
}

@media (max-width: 460px) {
	.candidate-dashboard__kpi-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 900px) {
	.nav-chip-link,
	.nav-btn,
	.nav-step-link,
	.nav-toggle-icon,
	.candidate-dashboard__window-chip.nav-chip-link,
	.candidate-dashboard__window-chip.is-active,
	.event-form-page .actions button,
	.event-form-page .actions .form-actions-link,
	#sign_in input[type="submit"] {
		transition: none !important;
		filter: none !important;
		transform: none !important;
	}

	.nav-chip-link:hover,
	.nav-chip-link:active,
	.nav-chip-link:focus,
	.nav-btn:hover,
	.nav-btn:active,
	.nav-btn:focus,
	.nav-step-link:hover,
	.nav-step-link:active,
	.nav-step-link:focus,
	.nav-toggle-icon:hover,
	.nav-toggle-icon:active,
	.nav-toggle-icon:focus {
		box-shadow: 0 1px 0 rgba(22, 63, 140, 0.3) !important;
		filter: none !important;
	}

	.candidate-dashboard__window-chip.nav-chip-link:hover,
	.candidate-dashboard__window-chip.nav-chip-link:active,
	.candidate-dashboard__window-chip.nav-chip-link:focus {
		box-shadow: var(--cm-chip-shadow) !important;
		background-color: var(--cm-chip-bg) !important;
		border-color: var(--cm-chip-border) !important;
	}

	.candidate-dashboard__window-chip.is-active:hover,
	.candidate-dashboard__window-chip.is-active:active,
	.candidate-dashboard__window-chip.is-active:focus {
		box-shadow: var(--cm-chip-active-shadow) !important;
		background-color: var(--cm-chip-active-bg) !important;
		border-color: var(--cm-chip-active-border) !important;
	}

	.event-form-page .actions button:hover,
	.event-form-page .actions button:active,
	.event-form-page .actions button:focus {
		box-shadow: var(--ef-primary-shadow) !important;
		background-color: var(--ef-primary-bg) !important;
		border-color: var(--ef-primary-border) !important;
	}

	.event-form-page .actions .form-actions-link:hover,
	.event-form-page .actions .form-actions-link:active,
	.event-form-page .actions .form-actions-link:focus {
		box-shadow: var(--ef-link-shadow) !important;
		background-color: var(--ef-link-bg) !important;
		border-color: var(--ef-link-border) !important;
	}
}

.percent_10 {
	width: 10%;
}

.percent_15 {
	width: 15%;
}

.percent_20 {
	width: 20%;
}

.percent_25 {
	width: 25%;
}

.percent_30 {
	width: 30%;
}
/* font-size */
 .T12 {
	font-size: 12px;
}

.T13 {
	font-size: 13px;
}

.T14 {
	font-size: 14px;
}

.T15 {
	font-size: 15px;
}

.T16 {
	font-size: 16px;
}

.T17 {
	font-size: 17px;
}

.T18 {
	font-size: 18px;
}

.T19 {
	font-size: 19px;
}

.T20 {
	font-size: 20px;
}

.T21 {
	font-size: 21px;
}

.T22 {
	font-size: 22px;
}

.T23 {
	font-size: 23px;
}

.T24 {
	font-size: 24px;
}

/* separator div, ex: <div class='S08'></div> */
.S03 {
	height: 3px;
}

.S05 {
	height: 5px;
}

.S08 {
	height: 8px;
}

.S10 {
	height: 10px;
}

.S12 {
	height: 12px;
}

.S14 {
	height: 14px;
}

.S16 {
	height: 16px;
}
/* error msg */
/* .field_with_errors {
	padding: 2px;
	background-color: red;
	display: table;
	label {
		background-color: red;
	}
}

*/
 .field_with_errors input {
	border: 3px solid red !important;
}
/* pagination */
 .pagination {
	display: inline-block;
	background: #f1f1f1;
	border: 1px solid #e5e5e5;
	/*text-align: center;
	*/
	/*padding: 1em;
	*/
	cursor: default;
}

.pagination a, .pagination span {
	padding: 0.2em 0.2em;
}

.pagination .current {
	text-align: center;
	font-style: normal;
	font-weight: bold;
	background-color: #a9a9a9;
	display: inline-block;
	width: 1.4em;
	height: 1.4em;
	line-height: 1.5;
	/*-moz-border-radius: 1em;
	*/
	-webkit-border-radius: 1em;
	border-radius: 1em;
	text-shadow: rgba(255, 255, 255, 0.8) 1px 1px 1px;
}

.pagination a {
	text-decoration: none;
	color: black;
}

.pagination a:hover, .pagination a:focus {
	text-decoration: underline;
	background-color: #f1f1f1;
	padding-bottom: 0px;
	border-right: 0px;
	border-bottom: 0px;
}

#error_explanation {
	width: 450px;
	border: 2px solid red;
	padding: 7px;
	padding-bottom: 0;
	margin-bottom: 20px;
	background-color: #f0f0f0;
}

#error_explanation h2 {
	text-align: left;
	font-weight: bold;
	padding: 5px 5px 5px 15px;
	font-size: 12px;
	margin: -7px;
	margin-bottom: 0px;
	background-color: #c00;
	color: #fff;
}

#error_explanation p {
	color: #333;
	margin-bottom: 0;
	padding: 5px;
}

#error_explanation ul li {
	font-size: 12px;
	list-style: square;
}

#record_not_found {
	display: inline-block;
	color: red;
	border: 2px solid red;
	padding: 5px;
}

#spinner {
	border: 0;
}

#sign_in {
	max-width: 360px;
	margin: 48px auto;
	padding: 20px;
	border: 1px solid #d3dce9;
	border-radius: 14px;
	background: linear-gradient(180deg, #ffffff, #f7faff);
	box-shadow: 0 12px 26px rgba(22, 45, 90, 0.14);
	position: relative;
	overflow: hidden;
}

#sign_in::before {
	content: none;
}

#sign_in::after {
	content: none;
}

#sign_in h3 {
	margin-top: 0;
	margin-bottom: 8px;
	font-size: 1.3rem;
	color: #11284d;
	position: relative;
	z-index: 1;
}

#sign_in .auth_hint {
	margin: 0 0 14px;
	line-height: 1.45;
	color: #3c5175;
	font-size: 0.94rem;
	position: relative;
	z-index: 1;
}

#sign_in form {
	display: flex;
	flex-direction: column;
	gap: 12px;
	position: relative;
	z-index: 1;
}

#sign_in .auth_field label {
	display: block;
	padding: 0;
	margin: 0 0 6px 0;
	color: #1f3761;
	background: transparent;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.2px;
}

#sign_in input[type="text"],
#sign_in input[type="password"] {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid #8fa4c8;
	border-radius: 8px;
	background: #ffffff;
	color: #142947;
	transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.12s ease;
}

#sign_in input[type="text"]::placeholder,
#sign_in input[type="password"]::placeholder {
	color: #7085a8;
}

#sign_in input[type="text"]:focus,
#sign_in input[type="password"]:focus {
	outline: none;
	border-color: #1e429f;
	box-shadow: 0 0 0 3px rgba(30, 66, 159, 0.18);
}

#sign_in input[type="submit"] {
	display: block;
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #163f8c;
	border-radius: 9px;
	background: linear-gradient(180deg, #1e4ea8, #163f8c);
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.3px;
	box-shadow: 0 8px 16px rgba(22, 63, 140, 0.32);
	transition: transform 0.12s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

#sign_in input[type="submit"]:hover {
	filter: brightness(1.08);
	box-shadow: 0 10px 20px rgba(22, 63, 140, 0.36);
}

#sign_in input[type="submit"]:active {
	transform: translateY(1px);
	box-shadow: 0 6px 12px rgba(22, 63, 140, 0.24);
}

#sign_in .auth_actions {
	margin-top: 2px;
}

.auth_alert {
	color: #7f1d1d;
	margin-top: 12px;
	padding: 9px 10px;
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 8px;
}

#noscript_block {
	position: absolute;
	display: block;
	width: 100%;
	top: 20%;
	opacity: 0.85;
	z-index: 100;
}

#noscript_block div {
	width: 400px;
	margin-left: auto;
	margin-right: auto;
	padding: 8px 2px 8px 2px;
	border: 4px solid #ff8e8a;
	text-align: center;
	font-size: 24px;
	font-style: italic;
	color: #fbf1ee;
	background-color: #dc1218;
	/* round buttons */
	/*-moz-border-radius: 30px;
	*/
	-webkit-border-radius: 30px;
	border-radius: 30px;
}

#notice {
	color: green;
}
.hh-data-sync-banner {
  position: sticky;
  top: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0;
  padding: 0.65rem 0.9rem;
  background: #fff4cc;
  border-bottom: 1px solid #e0be4f;
  color: #3c2d00;
  font-size: 0.95rem;
}

.hh-data-sync-banner--nav {
  position: static;
  top: auto;
  margin-top: 0.65rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid #e0be4f;
  border-radius: 0.65rem;
  padding: 0.35rem 0.45rem 0.35rem 0.55rem;
  font-size: 0.82rem;
}

.hh-data-sync-banner__message {
  line-height: 1.35;
}

.hh-data-sync-banner--nav .hh-data-sync-banner__message {
  min-width: 0;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hh-data-sync-banner__actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

.hh-data-sync-banner--nav .hh-data-sync-banner__actions {
  gap: 0.3rem;
}

.hh-data-sync-banner__btn {
  border: 1px solid #9f8a44;
  background: #fffdf2;
  color: #3c2d00;
  border-radius: 0.45rem;
  padding: 0.3rem 0.65rem;
  cursor: pointer;
}

.hh-data-sync-banner__btn--primary {
  background: #f7c948;
  border-color: #d4a514;
}

.hh-data-sync-banner--nav .hh-data-sync-banner__btn {
  padding: 0.18rem 0.45rem;
  border-radius: 0.38rem;
  font-size: 0.78rem;
  white-space: nowrap;
}

#hh-data-sync-nav-slot {
  min-width: 0;
}

@media (max-width: 640px) {
  .hh-data-sync-banner {
    flex-direction: column;
    align-items: stretch;
  }

  .hh-data-sync-banner__actions {
    justify-content: flex-end;
  }

  .hh-data-sync-banner--nav {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }
}
