/*!
 * HR Recruitment Management System - portal design system (1.1.0)
 * Every rule is scoped to .hrrms-ui (portal, views, modals, toasts, sign-in) or to the plugin's own
 * full-screen template body class, so themes, Elementor layouts and wp-admin are not affected.
 * Inter (variable, Latin subset) and Plus Jakarta Sans (variable) are bundled under the SIL Open Font License:
 * see ../fonts/Inter-LICENSE.txt and ../fonts/PlusJakartaSans-LICENSE.txt
 */
@font-face {
	font-family: "HRRMS Jakarta";
	src: url("../fonts/plus-jakarta-sans-var.woff2") format("woff2");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "HRRMS Inter";
	src: url("../fonts/inter-var-latin.woff") format("woff");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

/* ===================================================================== tokens */
.hrrms-ui {
	--hr-navy: #101B3C;
	--hr-navy-2: #17244D;
	--hr-navy-3: #22346A;
	--hr-blue: #2457D6;
	--hr-blue-h: #1C47B5;
	--hr-blue-2: #4778F5;
	--hr-blue-50: #ECF1FD;
	--hr-bg: #F5F7FC;
	--hr-card: #FFFFFF;
	--hr-ink: #17233F;
	--hr-ink-2: #5F6B84;
	--hr-ink-3: #8A94A6;
	--hr-line: #E4E9F3;
	--hr-line-2: #D3DBE7;
	--hr-soft: #F8FAFD;
	--hr-good: #16A36A;
	--hr-good-ink: #0B7A4D;
	--hr-good-bg: #E8F6EF;
	--hr-warn: #E6A23C;
	--hr-warn-ink: #8A5A0B;
	--hr-warn-bg: #FDF3E2;
	--hr-bad: #D64545;
	--hr-bad-ink: #A93232;
	--hr-bad-bg: #FBEAEA;
	--hr-neutral-bg: #EEF1F6;
	--hr-neutral-ink: #4A5568;
	--hr-on-tint: #1D47B3;
	--hr-tint-line: #CFE0FB;
	--hr-tint-soft: #F6F9FF;
	--hr-r-sm: 6px;
	--hr-r: 10px;
	--hr-r-lg: 14px;
	--hr-shadow-1: 0 1px 2px rgba(11, 25, 48, .05);
	--hr-shadow-2: 0 18px 40px -12px rgba(11, 25, 48, .28), 0 2px 6px rgba(11, 25, 48, .06);
	--hr-focus: 0 0 0 3px rgba(59, 130, 246, .35);
	--hr-font: "HRRMS Inter", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--hr-side-w: 252px;
	--hr-top-h: 72px;
	--hr-bar: var(--wp-admin--admin-bar--height, 0px);

	font-family: var(--hr-font);
	font-size: 14px;
	line-height: 1.5;
	color: var(--hr-ink);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: "cv11", "ss01";
	text-align: left;
	box-sizing: border-box;
}
.hrrms-ui *, .hrrms-ui *::before, .hrrms-ui *::after { box-sizing: border-box; }

/* Neutralise common theme / Elementor element styles inside the portal only. */
/* Element-level specificity (0,0,1): beats theme / wp-admin element rules (loaded earlier), loses to any .hrrms-* class. */
:where(.hrrms-ui) :is(h1, h2, h3, h4, p, ul, ol, li, dl, dd, figure, fieldset, legend) { margin: 0; padding: 0; font-family: inherit; letter-spacing: normal; text-transform: none; }
:where(.hrrms-ui) :is(h1, h2, h3, h4) { color: var(--hr-ink); line-height: 1.25; font-weight: 600; font-size: inherit; }
:where(.hrrms-ui) :is(ul, ol) { list-style: none; }
.hrrms-ui :where(a) { color: var(--hr-blue); box-shadow: none; }
.hrrms-ui a, .hrrms-ui a:hover, .hrrms-ui a:focus { text-decoration: none; }
.hrrms-ui :where(a:hover) { color: var(--hr-blue-h); }
.hrrms-ui :where(button) { font-family: inherit; letter-spacing: normal; text-transform: none; line-height: 1.2; margin: 0; box-shadow: none; text-shadow: none; }
.hrrms-ui :where(table) { margin: 0; border: 0; border-spacing: 0; }
.hrrms-ui :where(img, svg) { max-width: 100%; }
.hrrms-ui :where(input, select, textarea) { font-family: inherit; margin: 0; }
.hrrms-ui :focus { outline: none; }
.hrrms-ui :focus-visible { outline: 2px solid var(--hr-blue-2); outline-offset: 2px; }

.hrrms-i { width: 18px; height: 18px; flex: 0 0 auto; display: inline-block; vertical-align: middle; }
.hrrms-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.hrrms-muted { color: var(--hr-ink-2); }
.hrrms-num { font-variant-numeric: tabular-nums; }
.hrrms-req { color: var(--hr-bad); font-weight: 600; margin-left: 2px; }

/* ===================================================================== full-screen template */
body.hrrms-canvas-page { margin: 0; padding: 0; background: #F5F7FB; }
body.hrrms-canvas-page .hrrms-canvas-content { margin: 0; padding: 0; max-width: none; }
body.hrrms-canvas-page .hrrms-canvas-content > :where(p:empty) { display: none; }

/* ===================================================================== shell */
.hrrms-portal {
	background: var(--hr-bg);
	container-type: inline-size;
	container-name: hrrms;
	position: relative;
	width: 100%;
}
.hrrms-frame { display: grid; grid-template-columns: var(--hr-side-w) minmax(0, 1fr); min-height: inherit; }
.hrrms-app { container-type: inline-size; container-name: hrrmsapp; }
.hrrms-portal--canvas { min-height: calc(100vh - var(--hr-bar)); min-height: calc(100dvh - var(--hr-bar)); }
.hrrms-portal--embedded { border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); overflow: clip; min-height: 640px; margin-top: 0; margin-bottom: 0; }
.hrrms-portal[data-collapsed="1"] { --hr-side-w: 76px; }

.hrrms-skip { position: absolute; left: 12px; top: -60px; z-index: 50; background: var(--hr-navy); color: #fff !important; padding: 10px 14px; border-radius: var(--hr-r); font-weight: 600; }
.hrrms-skip:focus { top: 12px; }

.hrrms-side {
	background: var(--hr-navy);
	color: #B9C4D6;
	display: flex;
	flex-direction: column;
	position: sticky;
	top: var(--hr-bar);
	height: calc(100vh - var(--hr-bar));
	height: calc(100dvh - var(--hr-bar));
	overflow: hidden;
	z-index: 30;
}
.hrrms-portal--embedded .hrrms-side { height: auto; min-height: 100%; position: relative; top: 0; }
.hrrms-side__brand { display: flex; align-items: center; gap: 10px; padding: 18px 18px 14px; min-height: var(--hr-top-h); border-bottom: 1px solid rgba(255, 255, 255, .06); }
.hrrms-side__home { display: flex; align-items: center; gap: 11px; color: #fff !important; min-width: 0; flex: 1; }
.hrrms-side__home .hrrms-mark, .hrrms-side__home .hrrms-logo { flex: 0 0 auto; border-radius: 9px; }
.hrrms-logo { width: auto; max-width: 140px; object-fit: contain; }
.hrrms-side__name { font-weight: 650; font-size: 15px; letter-spacing: -.01em; line-height: 1.2; color: #fff; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.hrrms-side .hrrms-side__close { display: none; color: #B9C4D6 !important; }
.hrrms-side .hrrms-side__close:hover { background: rgba(255, 255, 255, .08); color: #fff !important; }
.hrrms-nav { flex: 1; overflow-y: auto; padding: 10px 12px 12px; scrollbar-width: thin; scrollbar-color: #24406A transparent; }
.hrrms-nav__group { padding: 8px 0 4px; }
.hrrms-nav__group + .hrrms-nav__group { border-top: 1px solid rgba(255, 255, 255, .05); }
.hrrms-nav__group--out { margin-top: 4px; }
.hrrms-nav__title { font-size: 11.5px; font-weight: 600; color: #7584A0; padding: 6px 12px 6px; letter-spacing: .01em; }
.hrrms-nav__link {
	display: flex; align-items: center; gap: 11px;
	padding: 9px 12px; margin: 1px 0;
	border-radius: var(--hr-r);
	color: #B9C4D6 !important;
	font-size: 14px; font-weight: 500;
	position: relative;
	transition: background-color .15s, color .15s;
}
.hrrms-nav__link .hrrms-i { width: 19px; height: 19px; color: #8C9AB3; transition: color .15s; }
.hrrms-nav__link:hover { background: rgba(255, 255, 255, .06); color: #fff !important; }
.hrrms-nav__link:hover .hrrms-i { color: #fff; }
.hrrms-nav__link[aria-current="page"] { background: rgba(59, 130, 246, .18); color: #fff !important; font-weight: 600; }
.hrrms-nav__link[aria-current="page"] .hrrms-i { color: #7DB0FF; }
.hrrms-nav__link[aria-current="page"]::before { content: ""; position: absolute; left: -12px; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: var(--hr-blue-2); }
.hrrms-nav__label { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hrrms-nav__count { min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--hr-blue-2); color: #fff; font-size: 11.5px; font-weight: 650; display: inline-flex; align-items: center; justify-content: center; font-variant-numeric: tabular-nums; }
.hrrms-nav__ext.hrrms-i { width: 13px; height: 13px; color: #5D6C88; }
.hrrms-side__collapse { display: flex; align-items: center; gap: 11px; margin: 0 12px 14px; padding: 9px 12px; border-radius: var(--hr-r); background: none; border: 0; color: #7584A0; font-size: 13px; font-weight: 500; cursor: pointer; text-align: left; }
.hrrms-side__collapse:hover { background: rgba(255, 255, 255, .06); color: #fff; }

.hrrms-portal[data-collapsed="1"] .hrrms-side__name,
.hrrms-portal[data-collapsed="1"] .hrrms-nav__label,
.hrrms-portal[data-collapsed="1"] .hrrms-nav__title,
.hrrms-portal[data-collapsed="1"] .hrrms-nav__ext { display: none; }
.hrrms-portal[data-collapsed="1"] .hrrms-side__brand { padding-left: 21px; padding-right: 21px; }
.hrrms-portal[data-collapsed="1"] .hrrms-nav__link, .hrrms-portal[data-collapsed="1"] .hrrms-side__collapse { justify-content: center; padding-left: 0; padding-right: 0; }
.hrrms-portal[data-collapsed="1"] .hrrms-nav__count { position: absolute; top: 2px; right: 6px; min-width: 18px; height: 16px; font-size: 10px; padding: 0 4px; }
.hrrms-portal[data-collapsed="1"] .hrrms-side__collapse .hrrms-i { transform: scaleX(-1); }

.hrrms-scrim { position: fixed; inset: 0; background: rgba(11, 25, 48, .5); z-index: 99990; }
.hrrms-scrim[hidden] { display: none; }

.hrrms-main { min-width: 0; display: flex; flex-direction: column; }
.hrrms-top {
	height: var(--hr-top-h);
	display: flex; align-items: center; gap: 16px;
	padding: 0 28px;
	background: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(1.4) blur(8px);
	border-bottom: 1px solid var(--hr-line);
	position: sticky; top: var(--hr-bar); z-index: 20;
}
.hrrms-portal--embedded .hrrms-top { position: relative; top: 0; }
.hrrms-top .hrrms-top__menu { display: none; }
.hrrms-top__title { min-width: 0; flex: 1; }
.hrrms-crumb { font-size: 12.5px; color: var(--hr-ink-2); font-weight: 500; line-height: 1.2; margin-bottom: 2px; }
.hrrms-top__title h1 { font-size: 21px; font-weight: 650; letter-spacing: -.015em; color: var(--hr-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.25; }
.hrrms-top__tools { display: flex; align-items: center; gap: 10px; }
.hrrms-search { position: relative; display: flex; align-items: center; }
.hrrms-search .hrrms-i { position: absolute; left: 11px; width: 17px; height: 17px; color: var(--hr-ink-3); pointer-events: none; }
.hrrms-ui .hrrms-search input[type=search] { width: 290px; height: 40px; min-height: 40px; padding: 0 12px 0 36px; border-radius: var(--hr-r); background: var(--hr-bg); border-color: transparent; }
.hrrms-ui .hrrms-search input[type=search]:focus { background: var(--hr-card); border-color: var(--hr-blue-2); }
.hrrms-iconbtn { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--hr-r); border: 1px solid transparent; background: transparent; color: var(--hr-ink-2) !important; cursor: pointer; position: relative; padding: 0; flex: 0 0 auto; }
.hrrms-iconbtn:hover { background: var(--hr-bg); color: var(--hr-ink) !important; }
.hrrms-iconbtn .hrrms-i { width: 20px; height: 20px; }
.hrrms-bell__dot { position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--hr-bad); color: #fff; font-size: 10.5px; font-weight: 700; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; font-variant-numeric: tabular-nums; }
.hrrms-user { position: relative; }
.hrrms-user__btn { display: flex; align-items: center; gap: 10px; padding: 4px 8px 4px 4px; border-radius: 999px; border: 1px solid transparent; background: none; cursor: pointer; color: var(--hr-ink); }
.hrrms-user__btn:hover, .hrrms-user__btn[aria-expanded="true"] { background: var(--hr-bg); }
.hrrms-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--hr-navy-2); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 650; font-size: 13px; letter-spacing: .02em; flex: 0 0 auto; }
.hrrms-avatar--lg { width: 64px; height: 64px; font-size: 22px; }
.hrrms-user__meta { display: flex; flex-direction: column; text-align: left; line-height: 1.2; }
.hrrms-user__name { font-weight: 600; font-size: 13.5px; max-width: 160px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hrrms-user__role { font-size: 12px; color: var(--hr-ink-2); }
.hrrms-user__chev.hrrms-i { width: 16px; height: 16px; color: var(--hr-ink-3); }
.hrrms-user__menu { position: absolute; right: 0; top: calc(100% + 8px); width: 248px; background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); box-shadow: var(--hr-shadow-2); padding: 6px; z-index: 40; }
.hrrms-user__menu[hidden] { display: none; }
.hrrms-user__head { padding: 10px 12px 12px; border-bottom: 1px solid var(--hr-line); margin-bottom: 6px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hrrms-user__head span { color: var(--hr-ink-2); font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; }
.hrrms-user__menu a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: var(--hr-r-sm); color: var(--hr-ink) !important; font-size: 13.5px; font-weight: 500; }
.hrrms-user__menu a:hover, .hrrms-user__menu a:focus-visible { background: var(--hr-bg); }
.hrrms-user__menu .hrrms-i { color: var(--hr-ink-2); }
.hrrms-user__sep { border-top: 1px solid var(--hr-line); margin-top: 6px; padding-top: 6px; }

.hrrms-content { padding: 28px 32px 48px; flex: 1; min-width: 0; outline: none; }
.hrrms-content > .hrrms-app { max-width: 1560px; margin: 0 auto; }

/* Drawer mode: narrow containers (phones, tablets, or a portal embedded in a narrow theme column). */
@container hrrms (max-width: 1023px) {
	.hrrms-frame, .hrrms-portal[data-collapsed="1"] .hrrms-frame { grid-template-columns: minmax(0, 1fr); }
	.hrrms-side { position: fixed; top: var(--hr-bar); left: 0; bottom: 0; width: 280px; height: auto; transform: translateX(-105%); transition: transform .22s ease; z-index: 99995; box-shadow: var(--hr-shadow-2); }
	.hrrms-portal--embedded .hrrms-side { position: fixed; top: var(--hr-bar); height: auto; min-height: 0; }
	.hrrms-portal[data-drawer="open"] .hrrms-side { transform: none; }
	.hrrms-portal[data-collapsed="1"] .hrrms-side__name, .hrrms-portal[data-collapsed="1"] .hrrms-nav__label, .hrrms-portal[data-collapsed="1"] .hrrms-nav__title { display: revert; }
	.hrrms-portal[data-collapsed="1"] .hrrms-nav__link { justify-content: flex-start; padding: 9px 12px; }
	.hrrms-side .hrrms-side__close { display: inline-flex; }
	.hrrms-side__collapse { display: none; }
	.hrrms-top .hrrms-top__menu { display: inline-flex; margin-left: -8px; }
	.hrrms-top { padding: 0 20px; }
	.hrrms-content { padding: 22px 20px 40px; }
	.hrrms-ui .hrrms-search input[type=search] { width: 220px; }
}
@container hrrms (max-width: 720px) {
	.hrrms-top { gap: 6px; padding: 0 12px; height: 64px; }
	.hrrms-top .hrrms-top__menu { margin-left: 0; }
	.hrrms-top__title h1 { font-size: 18px; }
	.hrrms-crumb { display: none; }
	.hrrms-search { display: none; }
	.hrrms-user__meta, .hrrms-user__chev { display: none; }
	.hrrms-user__btn { padding: 2px; }
	.hrrms-content { padding: 16px 16px 36px; }
}

/* ===================================================================== buttons, links */
.hrrms-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 40px; padding: 0 16px;
	font: inherit; font-size: 14px; font-weight: 600; line-height: 1;
	border-radius: var(--hr-r);
	border: 1px solid var(--hr-line-2);
	background: var(--hr-card); color: var(--hr-ink) !important;
	cursor: pointer; text-decoration: none; white-space: nowrap;
	transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s;
	box-shadow: var(--hr-shadow-1);
	vertical-align: middle;
}
.hrrms-btn:hover:not([disabled]) { background: var(--hr-soft); border-color: #BCC7D8; }
.hrrms-btn:focus-visible { outline: none; box-shadow: var(--hr-focus); }
.hrrms-btn[disabled], .hrrms-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.hrrms-btn .hrrms-i { width: 17px; height: 17px; }
.hrrms-btn--primary { background: var(--hr-blue); border-color: var(--hr-blue); color: #fff !important; }
.hrrms-btn--primary:hover:not([disabled]) { background: var(--hr-blue-h); border-color: var(--hr-blue-h); }
.hrrms-btn--navy { background: var(--hr-navy-2); border-color: var(--hr-navy-2); color: #fff !important; }
.hrrms-btn--navy:hover:not([disabled]) { background: var(--hr-navy); border-color: var(--hr-navy); }
.hrrms-btn--success { background: var(--hr-good); border-color: var(--hr-good); color: #fff !important; }
.hrrms-btn--success:hover:not([disabled]) { background: #12885A; border-color: #12885A; }
.hrrms-btn--danger { background: var(--hr-bad); border-color: var(--hr-bad); color: #fff !important; }
.hrrms-btn--danger:hover:not([disabled]) { background: #BE3737; border-color: #BE3737; }
.hrrms-btn--warn { background: var(--hr-card); border-color: #E8C384; color: var(--hr-warn-ink) !important; }
.hrrms-btn--warn:hover:not([disabled]) { background: var(--hr-warn-bg); border-color: var(--hr-warn); }
.hrrms-btn--danger-o { color: var(--hr-bad-ink) !important; border-color: #EDBDBD; }
.hrrms-btn--danger-o:hover:not([disabled]) { background: var(--hr-bad-bg); border-color: var(--hr-bad); }
.hrrms-btn--ghost { background: transparent; border-color: transparent; box-shadow: none; color: var(--hr-ink-2) !important; }
.hrrms-btn--ghost:hover:not([disabled]) { background: var(--hr-bg); border-color: transparent; color: var(--hr-ink) !important; }
.hrrms-btn--sm { min-height: 32px; padding: 0 11px; font-size: 13px; gap: 6px; }
.hrrms-btn--sm .hrrms-i { width: 15px; height: 15px; }
.hrrms-btn--lg { min-height: 46px; font-size: 15px; }
.hrrms-btn--block { width: 100%; }
.hrrms-btn--icon { width: 40px; padding: 0; }
.hrrms-btn[aria-busy="true"] { position: relative; color: transparent !important; pointer-events: none; }
.hrrms-btn[aria-busy="true"] > * { visibility: hidden; }
.hrrms-btn[aria-busy="true"]::after { content: ""; position: absolute; width: 18px; height: 18px; border-radius: 50%; border: 2px solid currentColor; border-color: rgba(23, 36, 58, .25); border-top-color: var(--hr-ink); animation: hrrms-spin .7s linear infinite; }
.hrrms-btn--primary[aria-busy="true"]::after, .hrrms-btn--success[aria-busy="true"]::after, .hrrms-btn--danger[aria-busy="true"]::after, .hrrms-btn--navy[aria-busy="true"]::after { border-color: rgba(255, 255, 255, .35); border-top-color: #fff; }
.hrrms-btnrow { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.hrrms-link { color: var(--hr-blue) !important; font-weight: 500; }
.hrrms-ui .hrrms-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.hrrms-linkbtn { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: var(--hr-ink); text-align: left; cursor: pointer; line-height: 1.35; }
.hrrms-linkbtn:hover { color: var(--hr-blue); text-decoration: underline; text-underline-offset: 3px; }
@keyframes hrrms-spin { to { transform: rotate(360deg); } }

/* ===================================================================== form controls */
.hrrms-ui :is(input[type=text], input[type=search], input[type=email], input[type=url], input[type=date], input[type=datetime-local], input[type=number], input[type=tel], input[type=password], select, textarea) {
	width: 100%; max-width: 100%;
	min-height: 40px; height: auto;
	padding: 8px 12px;
	font: inherit; font-size: 14px; line-height: 1.4;
	color: var(--hr-ink);
	background: var(--hr-card);
	border: 1px solid var(--hr-line-2);
	border-radius: var(--hr-r);
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
	appearance: none; -webkit-appearance: none;
}
.hrrms-ui select { padding-right: 34px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; background-size: 16px; }
.hrrms-ui select[multiple] { background-image: none; padding-right: 12px; }
.hrrms-ui input[type=file] { width: 100%; padding: 8px; border: 1px dashed var(--hr-line-2); border-radius: var(--hr-r); background: var(--hr-soft); font: inherit; font-size: 13.5px; }
.hrrms-ui textarea { min-height: 96px; resize: vertical; }
.hrrms-ui :is(input, select, textarea):hover:not([disabled]) { border-color: #B8C4D6; }
.hrrms-ui :is(input, select, textarea):focus { outline: none; border-color: var(--hr-blue-2); box-shadow: var(--hr-focus); }
.hrrms-ui :is(input, select, textarea)[disabled] { background: var(--hr-soft); color: var(--hr-ink-2); cursor: not-allowed; }
.hrrms-ui :is(input, select, textarea)[aria-invalid="true"] { border-color: var(--hr-bad); background-color: #FFFBFB; }
.hrrms-ui :is(input, select, textarea)[aria-invalid="true"]:focus { box-shadow: 0 0 0 3px rgba(214, 69, 69, .2); }
.hrrms-ui input[type=checkbox], .hrrms-ui input[type=radio] { width: 17px; height: 17px; margin: 0; accent-color: var(--hr-blue); flex: 0 0 auto; vertical-align: middle; }
.hrrms-field { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.hrrms-field > label, .hrrms-field__row label, .hrrms-label { font-size: 13px; font-weight: 600; color: var(--hr-ink); display: block; }
.hrrms-field__row { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.hrrms-field--wide { grid-column: 1 / -1; }
.hrrms-hint { font-size: 12.5px; color: var(--hr-ink-2); }
.hrrms-err { font-size: 12.5px; color: var(--hr-bad-ink); font-weight: 500; }
.hrrms-err:empty { display: none; }
.hrrms-check { display: inline-flex; align-items: flex-start; gap: 9px; font-size: 14px; color: var(--hr-ink); cursor: pointer; line-height: 1.4; }
.hrrms-check input { margin-top: 1px !important; }
.hrrms-tag { font-size: 11px; font-weight: 600; color: var(--hr-warn-ink); background: var(--hr-warn-bg); border-radius: 4px; padding: 1px 6px; margin-left: 6px; vertical-align: 1px; }
.hrrms-inputicon { position: relative; }
.hrrms-inputicon > .hrrms-i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--hr-ink-3); width: 18px; height: 18px; pointer-events: none; }
.hrrms-ui .hrrms-inputicon input { padding-left: 40px; min-height: 46px; }
.hrrms-ui .hrrms-inputicon--pass input { padding-right: 46px; }
.hrrms-reveal { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border: 0; background: none; color: var(--hr-ink-2); border-radius: var(--hr-r-sm); cursor: pointer; padding: 0; }
.hrrms-reveal:hover { color: var(--hr-ink); background: var(--hr-bg); }
.hrrms-reveal__hide { display: none; }
.hrrms-reveal[aria-pressed="true"] .hrrms-reveal__hide { display: inline-block; }
.hrrms-reveal[aria-pressed="true"] .hrrms-reveal__show { display: none; }
.hrrms-formgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px 20px; }
.hrrms-formgrid--2 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }

/* ===================================================================== notices, badges, empty, loading */
.hrrms-notice { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: var(--hr-r); border: 1px solid var(--hr-line); background: var(--hr-soft); color: var(--hr-ink); font-size: 13.5px; margin: 0 0 16px; }
.hrrms-notice .hrrms-i { margin-top: 1px; }
.hrrms-notice > div { flex: 1; min-width: 0; }
.hrrms-notice--error { background: var(--hr-bad-bg); border-color: #F1C9C9; color: #7E2222; }
.hrrms-notice--error .hrrms-i { color: var(--hr-bad); }
.hrrms-notice--success { background: var(--hr-good-bg); border-color: #BFE5D2; color: #0B5F3C; }
.hrrms-notice--success .hrrms-i { color: var(--hr-good); }
.hrrms-notice--warn { background: var(--hr-warn-bg); border-color: #F2D7A9; color: #6E4708; }
.hrrms-notice--warn .hrrms-i { color: #C98318; }
.hrrms-notice--info { background: var(--hr-blue-50); border-color: var(--hr-tint-line); color: var(--hr-on-tint); }
.hrrms-notice--info .hrrms-i { color: var(--hr-blue); }
.hrrms-live:empty { display: none; }

.hrrms-badge { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 9px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; background: var(--hr-neutral-bg); color: var(--hr-neutral-ink); line-height: 1; vertical-align: middle; }
.hrrms-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .85; flex: 0 0 auto; }
.hrrms-badge--plain::before { display: none; }
.hrrms-badge--pending, .hrrms-badge--submitted, .hrrms-badge--resubmitted { background: var(--hr-blue-50); color: var(--hr-on-tint); }
.hrrms-badge--approved, .hrrms-badge--good { background: var(--hr-good-bg); color: var(--hr-good-ink); }
.hrrms-badge--rejected, .hrrms-badge--bad { background: var(--hr-bad-bg); color: var(--hr-bad-ink); }
.hrrms-badge--returned, .hrrms-badge--warn { background: var(--hr-warn-bg); color: var(--hr-warn-ink); }
.hrrms-badge--draft, .hrrms-badge--cancelled, .hrrms-badge--none { background: var(--hr-neutral-bg); color: var(--hr-neutral-ink); }
.hrrms-badge--legacy { background: #F1EEF8; color: #5B4A8A; }
.hrrms-badge--info { background: #F1F5FB; color: #34507A; }
.hrrms-badge--info::before { border-radius: 2px; }
.hrrms-badge--overdue { background: var(--hr-bad); color: #fff; }
.hrrms-badge--overdue::before { display: none; }
.hrrms-badge .hrrms-i { width: 13px; height: 13px; }
.hrrms-badges { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; }

.hrrms-empty { text-align: center; padding: 40px 20px; color: var(--hr-ink-2); display: flex; flex-direction: column; align-items: center; gap: 8px; }
.hrrms-empty__icon.hrrms-i, .hrrms-empty > .hrrms-i { width: 44px; height: 44px; padding: 11px; border-radius: 12px; background: var(--hr-blue-50); color: var(--hr-blue); margin-bottom: 6px; }
.hrrms-empty h2, .hrrms-empty h3 { font-size: 16px; color: var(--hr-ink); font-weight: 600; }
.hrrms-empty p { max-width: 440px; font-size: 13.5px; }
.hrrms-empty .hrrms-btnrow { justify-content: center; margin-top: 8px; }
.hrrms-empty--page { background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); padding: 64px 24px; }
.hrrms-empty--sm { padding: 22px 12px; }
.hrrms-empty--sm .hrrms-i { width: 36px; height: 36px; padding: 8px; }

.hrrms-loading { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 36px 16px; color: var(--hr-ink-2); font-size: 13.5px; }
.hrrms-spinner { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--hr-line-2); border-top-color: var(--hr-blue); animation: hrrms-spin .7s linear infinite; display: inline-block; }
.hrrms-skel { background: linear-gradient(90deg, #EEF2F7 0%, #F7F9FC 50%, #EEF2F7 100%); background-size: 200% 100%; animation: hrrms-shimmer 1.3s ease infinite; border-radius: var(--hr-r); }
@keyframes hrrms-shimmer { to { background-position: -200% 0; } }

/* ===================================================================== cards, sections */
.hrrms-card { background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); min-width: 0; box-shadow: var(--hr-shadow-1); }
.hrrms-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--hr-line); min-height: 60px; }
.hrrms-card__head h2, .hrrms-card__head h3 { font-size: 16px; font-weight: 600; letter-spacing: -.005em; }
.hrrms-card__head p { font-size: 12.5px; color: var(--hr-ink-2); margin-top: 2px; }
.hrrms-card__body { padding: 20px; }
.hrrms-card__foot { padding: 12px 20px; border-top: 1px solid var(--hr-line); display: flex; justify-content: flex-end; gap: 8px; }
.hrrms-card--plain { box-shadow: none; }
.hrrms-stack { display: flex; flex-direction: column; gap: 20px; }
.hrrms-row2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.hrrms-row-73 { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 20px; align-items: start; }
@container hrrmsapp (max-width: 980px) { .hrrms-row-73 { grid-template-columns: minmax(0, 1fr); } }
@container hrrmsapp (max-width: 760px) { .hrrms-row2 { grid-template-columns: minmax(0, 1fr); } }

/* ===================================================================== toolbar, filters, tables */
.hrrms-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.hrrms-toolbar__start, .hrrms-toolbar__end { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.hrrms-toolbar__start { flex: 1 1 380px; min-width: 0; }
.hrrms-searchbox { position: relative; flex: 1 1 260px; max-width: 420px; }
.hrrms-searchbox .hrrms-i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 17px; height: 17px; color: var(--hr-ink-3); pointer-events: none; }
.hrrms-ui .hrrms-searchbox input { padding-left: 38px; }
.hrrms-filterbtn .hrrms-count { min-width: 20px; height: 20px; border-radius: 999px; background: var(--hr-blue); color: #fff; font-size: 11.5px; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px; }
.hrrms-filterpanel { background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); padding: 16px 18px; margin-bottom: 16px; box-shadow: var(--hr-shadow-1); }
.hrrms-filterpanel[hidden] { display: none; }
.hrrms-filterpanel__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px 16px; align-items: end; }
.hrrms-filterpanel__foot { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--hr-line); }
.hrrms-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: -4px 0 14px; }
.hrrms-chip { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 6px 0 11px; border-radius: 999px; background: var(--hr-blue-50); color: var(--hr-on-tint); font-size: 12.5px; font-weight: 600; border: 0; cursor: pointer; }
.hrrms-chip .hrrms-i { width: 14px; height: 14px; }
.hrrms-chip:hover { background: var(--hr-tint-line); }

.hrrms-seg { display: inline-flex; padding: 3px; background: var(--hr-neutral-bg); border-radius: var(--hr-r); gap: 2px; }
.hrrms-seg button { border: 0; background: none; padding: 0 12px; height: 32px; border-radius: 6px; font-size: 13px; font-weight: 600; color: var(--hr-ink-2); cursor: pointer; white-space: nowrap; }
.hrrms-seg button[aria-pressed="true"] { background: var(--hr-card); color: var(--hr-ink); box-shadow: 0 1px 2px rgba(11, 25, 48, .12); }

.hrrms-tablecard { background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); box-shadow: var(--hr-shadow-1); overflow: hidden; }
.hrrms-tablewrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.hrrms-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13.5px; }
.hrrms-ui .hrrms-table :is(th, td) { padding: 12px 16px; text-align: left; vertical-align: middle; border: 0; border-bottom: 1px solid var(--hr-line); background: none; color: var(--hr-ink); }
.hrrms-ui .hrrms-table thead th { background: var(--hr-soft); color: var(--hr-ink-2); font-size: 12.5px; font-weight: 600; white-space: nowrap; padding-top: 10px; padding-bottom: 10px; position: sticky; top: 0; z-index: 1; }
.hrrms-ui .hrrms-table tbody tr:last-child > * { border-bottom: 0; }
.hrrms-ui .hrrms-table tbody tr { transition: background-color .12s; }
.hrrms-ui .hrrms-table tbody tr:hover > * { background: var(--hr-soft); }
.hrrms-ui .hrrms-table tbody th { font-weight: 600; }
.hrrms-ui .hrrms-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hrrms-ui .hrrms-table tr.is-overdue > :first-child { box-shadow: inset 3px 0 0 var(--hr-bad); }
.hrrms-table--compact :is(th, td) { padding: 9px 14px !important; }
.hrrms-nowrap { white-space: nowrap; }
.hrrms-ui .hrrms-table th.is-main { min-width: 220px; }
.hrrms-cellsub { display: block; font-size: 12.5px; color: var(--hr-ink-2); font-weight: 400; margin-top: 2px; }
.hrrms-ref { font-size: 12.5px; font-weight: 600; color: var(--hr-ink-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.hrrms-sort { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: inherit; cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; }
.hrrms-sort:hover { color: var(--hr-ink); }
.hrrms-sort .hrrms-i { width: 14px; height: 14px; opacity: .3; }
.hrrms-sort[data-dir] .hrrms-i { opacity: 1; color: var(--hr-blue); }
.hrrms-sort[data-dir="asc"] .hrrms-i { transform: rotate(180deg); }
.hrrms-mini { display: inline-flex; gap: 4px; }
.hrrms-mini span { min-width: 30px; height: 24px; padding: 0 7px; border-radius: 6px; background: var(--hr-soft); border: 1px solid var(--hr-line); font-size: 12px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; font-variant-numeric: tabular-nums; color: var(--hr-ink); }
.hrrms-mini span.is-empty { color: var(--hr-ink-3); }
.hrrms-due { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; white-space: nowrap; }
.hrrms-due .hrrms-i { width: 15px; height: 15px; color: var(--hr-ink-3); }
.hrrms-due--late { color: var(--hr-bad-ink); font-weight: 600; }
.hrrms-due--late .hrrms-i { color: var(--hr-bad); }
.hrrms-due--soon { color: var(--hr-warn-ink); font-weight: 600; }

.hrrms-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--hr-line); font-size: 13px; color: var(--hr-ink-2); background: var(--hr-card); }
.hrrms-pager__nav { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.hrrms-pager__nav button { min-width: 34px; height: 34px; border-radius: var(--hr-r-sm); border: 1px solid transparent; background: none; font: inherit; font-size: 13px; font-weight: 600; color: var(--hr-ink); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0 8px; }
.hrrms-pager__nav button:hover:not([disabled]) { background: var(--hr-bg); }
.hrrms-pager__nav button[aria-current="page"] { background: var(--hr-blue-50); color: var(--hr-blue-h); border-color: var(--hr-tint-line); }
.hrrms-pager__nav button[disabled] { opacity: .4; cursor: not-allowed; }
.hrrms-pager__nav .hrrms-i { width: 16px; height: 16px; }
.hrrms-pager__gap { padding: 0 4px; }
.hrrms-inline { display: inline-flex; align-items: center; gap: 8px; }
.hrrms-ui .hrrms-inline select { width: auto; min-height: 34px; height: 34px; padding: 0 30px 0 10px; font-size: 13px; }

/* Phone: list tables become stacked records. */
@container hrrmsapp (max-width: 680px) {
	.hrrms-table--cards thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.hrrms-table--cards, .hrrms-table--cards tbody, .hrrms-table--cards tr { display: block; width: 100%; }
	.hrrms-ui .hrrms-table--cards tr { padding: 14px 16px; border-bottom: 1px solid var(--hr-line); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 14px; }
	.hrrms-ui .hrrms-table--cards tr:last-child { border-bottom: 0; }
	.hrrms-ui .hrrms-table--cards :is(th, td) { display: block; padding: 0 !important; border: 0 !important; min-width: 0; }
	.hrrms-ui .hrrms-table--cards tbody tr:hover > * { background: none; }
	.hrrms-ui .hrrms-table--cards [data-label]::before { content: attr(data-label); display: block; font-size: 11.5px; color: var(--hr-ink-2); font-weight: 500; margin-bottom: 2px; }
	.hrrms-ui .hrrms-table--cards .is-main { grid-column: 1 / -1; font-size: 14.5px; }
	.hrrms-ui .hrrms-table--cards .is-main::before { display: none; }
	.hrrms-ui .hrrms-table--cards .is-act { grid-column: 1 / -1; }
	.hrrms-ui .hrrms-table--cards .is-act .hrrms-btn { width: 100%; }
	.hrrms-ui .hrrms-table--cards td:empty { display: none; }
	.hrrms-ui .hrrms-table--cards tr.is-overdue { box-shadow: inset 3px 0 0 var(--hr-bad); }
	.hrrms-ui .hrrms-table--cards tr.is-overdue > :first-child { box-shadow: none; }
	.hrrms-toolbar__end .hrrms-btn span.hrrms-hide-sm { display: none; }
}
/* In wp-admin there is no container: apply the same stacked layout by viewport. */
@media (max-width: 782px) {
	.wp-admin .hrrms-table--cards thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.wp-admin .hrrms-table--cards tr, .wp-admin .hrrms-table--cards :is(th, td) { display: block; }
}

/* ===================================================================== dashboard */
.hrrms-hero {
	position: relative;
	display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px;
	padding: 28px 30px;
	border-radius: var(--hr-r-lg);
	background: var(--hr-navy);
	color: #DCE5F3;
	overflow: hidden;
	margin-bottom: 20px;
}
.hrrms-hero::after { content: ""; position: absolute; right: -60px; top: -80px; width: 340px; height: 340px; border-radius: 50%; border: 56px solid rgba(59, 130, 246, .10); pointer-events: none; }
.hrrms-hero > * { position: relative; z-index: 1; }
.hrrms-hero__date { font-size: 13px; color: #8FA2C2; margin-bottom: 6px; }
.hrrms-hero h2 { color: #fff; font-size: 28px; font-weight: 650; letter-spacing: -.02em; line-height: 1.2; }
.hrrms-hero p.hrrms-hero__lead { margin-top: 8px; font-size: 14.5px; max-width: 620px; color: #B9C6DB; }
.hrrms-hero p.hrrms-hero__lead strong { color: #fff; font-weight: 600; }
.hrrms-hero .hrrms-btn { box-shadow: none; }
.hrrms-hero .hrrms-btn--onnavy { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .16); color: #fff !important; }
.hrrms-hero .hrrms-btn--onnavy:hover { background: rgba(255, 255, 255, .14) !important; border-color: rgba(255, 255, 255, .3) !important; }

.hrrms-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.hrrms-kpi { background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); padding: 18px 18px 16px; display: flex; flex-direction: column; gap: 4px; min-width: 0; color: var(--hr-ink) !important; position: relative; box-shadow: var(--hr-shadow-1); }
a.hrrms-kpi { transition: border-color .15s, box-shadow .15s; }
a.hrrms-kpi:hover { border-color: #BFD3F2; box-shadow: 0 6px 18px -10px rgba(36, 107, 206, .5); }
.hrrms-kpi__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.hrrms-kpi__label { font-size: 13.5px; font-weight: 600; color: var(--hr-ink-2); }
.hrrms-kpi__icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--hr-blue-50); color: var(--hr-blue); }
.hrrms-kpi__icon .hrrms-i { width: 19px; height: 19px; }
.hrrms-kpi--good .hrrms-kpi__icon { background: var(--hr-good-bg); color: var(--hr-good); }
.hrrms-kpi--warn .hrrms-kpi__icon { background: var(--hr-warn-bg); color: #C98318; }
.hrrms-kpi--navy .hrrms-kpi__icon { background: #E7ECF4; color: var(--hr-navy-2); }
.hrrms-kpi__value { font-size: 32px; font-weight: 650; letter-spacing: -.025em; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--hr-ink); }
.hrrms-kpi__meta { font-size: 12.5px; color: var(--hr-ink-2); display: flex; align-items: center; gap: 6px; min-height: 18px; }
.hrrms-kpi__meta--bad { color: var(--hr-bad-ink); font-weight: 600; }
.hrrms-kpi__meta .hrrms-i { width: 14px; height: 14px; }
.hrrms-kpi__go { position: absolute; right: 16px; bottom: 16px; width: 16px; height: 16px; color: var(--hr-ink-3); opacity: 0; transition: opacity .15s; }
a.hrrms-kpi:hover .hrrms-kpi__go { opacity: 1; color: var(--hr-blue); }

.hrrms-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); margin-bottom: 20px; box-shadow: var(--hr-shadow-1); }
.hrrms-stat { padding: 14px 18px; border-right: 1px solid var(--hr-line); border-bottom: 1px solid var(--hr-line); min-width: 0; color: var(--hr-ink) !important; display: block; }
a.hrrms-stat:hover { background: var(--hr-soft); }
.hrrms-stat:nth-child(4n) { border-right: 0; }
.hrrms-stat:nth-last-child(-n+4) { border-bottom: 0; }
.hrrms-stat__value { font-size: 21px; font-weight: 650; letter-spacing: -.02em; font-variant-numeric: tabular-nums; display: flex; align-items: center; gap: 8px; }
.hrrms-stat__value .hrrms-i { width: 16px; height: 16px; }
.hrrms-stat__label { font-size: 12.5px; color: var(--hr-ink-2); margin-top: 2px; }
.hrrms-stat--bad .hrrms-stat__value { color: var(--hr-bad-ink); }
.hrrms-stat--muted .hrrms-stat__value { color: var(--hr-ink-3); font-size: 15px; font-weight: 600; letter-spacing: 0; padding: 4px 0; }
@container hrrmsapp (max-width: 860px) { .hrrms-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container hrrmsapp (max-width: 640px) {
	.hrrms-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hrrms-stat:nth-child(4n) { border-right: 1px solid var(--hr-line); }
	.hrrms-stat:nth-child(2n) { border-right: 0; }
	.hrrms-stat:nth-last-child(-n+4) { border-bottom: 1px solid var(--hr-line); }
	.hrrms-stat:nth-last-child(-n+2) { border-bottom: 0; }
}
@container hrrmsapp (max-width: 440px) {
	.hrrms-kpis { gap: 10px; }
	.hrrms-kpi { padding: 14px; }
	.hrrms-kpi__value { font-size: 26px; }
	.hrrms-kpi__icon { width: 30px; height: 30px; }
	.hrrms-hero { padding: 22px 20px; }
	.hrrms-hero h2 { font-size: 23px; }
}

/* The approval pipeline: the portal's signature element. */
.hrrms-pipeline { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; padding: 22px 20px 18px; }
.hrrms-pipe { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding-right: 18px; min-width: 0; color: var(--hr-ink) !important; }
.hrrms-pipe::after { content: ""; position: absolute; left: 44px; right: 8px; top: 21px; height: 2px; background: repeating-linear-gradient(90deg, var(--hr-line-2) 0 6px, transparent 6px 11px); }
.hrrms-pipe:last-child::after { display: none; }
.hrrms-pipe__node { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 16px; font-variant-numeric: tabular-nums; background: var(--hr-blue-50); color: var(--hr-blue-h); border: 1px solid var(--hr-tint-line); position: relative; z-index: 1; }
.hrrms-pipe.is-busy .hrrms-pipe__node { background: var(--hr-blue); color: #fff; border-color: var(--hr-blue); box-shadow: 0 0 0 5px rgba(36, 107, 206, .12); }
.hrrms-pipe.is-done .hrrms-pipe__node { background: var(--hr-good-bg); color: var(--hr-good-ink); border-color: #BFE5D2; }
.hrrms-pipe.is-zero .hrrms-pipe__node { background: var(--hr-card); color: var(--hr-ink-3); border-color: var(--hr-line-2); }
.hrrms-pipe__label { font-size: 13.5px; font-weight: 600; line-height: 1.3; }
.hrrms-pipe__sub { font-size: 12px; color: var(--hr-ink-2); margin-top: -6px; }
a.hrrms-pipe:hover .hrrms-pipe__label { color: var(--hr-blue); }
@container hrrmsapp (max-width: 560px) {
	.hrrms-pipeline { grid-auto-flow: row; gap: 14px; }
	.hrrms-pipe { flex-direction: row; align-items: center; gap: 12px; }
	.hrrms-pipe::after { left: 21px; top: 44px; bottom: -14px; right: auto; width: 2px; height: auto; background: repeating-linear-gradient(180deg, var(--hr-line-2) 0 5px, transparent 5px 9px); }
	.hrrms-pipe__sub { margin-top: 0; }
}

/* Charts: horizontal bars, columns, legends. */
.hrrms-hbars { display: flex; flex-direction: column; gap: 12px; }
.hrrms-hbar { display: grid; grid-template-columns: minmax(110px, 34%) minmax(0, 1fr) 44px; gap: 12px; align-items: center; font-size: 13px; }
.hrrms-hbar__label { color: var(--hr-ink); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hrrms-hbar__track { height: 10px; background: var(--hr-soft); border-radius: 0 4px 4px 0; position: relative; }
.hrrms-hbar__fill { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 0 4px 4px 0; background: var(--hr-blue); min-width: 3px; }
.hrrms-hbar__value { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.hrrms-hbar__value small { display: block; font-size: 11.5px; color: var(--hr-ink-2); font-weight: 500; }
.hrrms-hbar:hover .hrrms-hbar__label { color: var(--hr-blue-h); }
.hrrms-cols { position: relative; }
.hrrms-cols svg { display: block; width: 100%; height: auto; max-height: 300px; overflow: visible; }
.hrrms-cols .hrrms-grid line { stroke: var(--hr-line); stroke-width: 1; }
.hrrms-cols .hrrms-grid text, .hrrms-cols .hrrms-axis text { fill: var(--hr-ink-2); font-size: 11.5px; font-family: var(--hr-font); font-variant-numeric: tabular-nums; }
.hrrms-cols .hrrms-bar { fill: var(--hr-blue); transition: fill .12s; }
.hrrms-cols .hrrms-bar.is-zero { fill: var(--hr-line-2); }
.hrrms-cols .hrrms-hit { fill: transparent; cursor: default; }
.hrrms-cols .hrrms-hit:hover + .hrrms-bar, .hrrms-cols g:hover .hrrms-bar { fill: var(--hr-navy-2); }
.hrrms-cols .hrrms-vlabel { fill: var(--hr-ink); font-size: 11.5px; font-weight: 600; font-family: var(--hr-font); }
.hrrms-tip { position: absolute; pointer-events: none; background: var(--hr-navy); color: #fff; font-size: 12.5px; padding: 7px 10px; border-radius: 6px; white-space: nowrap; transform: translate(-50%, calc(-100% - 10px)); box-shadow: var(--hr-shadow-2); z-index: 5; }
.hrrms-tip strong { font-weight: 650; }
.hrrms-tip[hidden] { display: none; }
.hrrms-dept .hrrms-inlinebar { display: inline-block; height: 6px; border-radius: 0 3px 3px 0; background: var(--hr-blue-2); vertical-align: middle; margin-right: 8px; min-width: 2px; }

/* Queue lists and timeline. */
.hrrms-queue { display: flex; flex-direction: column; }
.hrrms-queue__item { display: flex; align-items: center; gap: 14px; padding: 13px 20px; border-bottom: 1px solid var(--hr-line); width: 100%; background: none; border-left: 0; border-right: 0; border-top: 0; text-align: left; cursor: pointer; font: inherit; color: var(--hr-ink); }
.hrrms-queue__item:last-child { border-bottom: 0; }
.hrrms-queue__item:hover { background: var(--hr-soft); }
.hrrms-queue__main { flex: 1; min-width: 0; }
.hrrms-queue__title { font-weight: 600; font-size: 14px; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hrrms-queue__sub { font-size: 12.5px; color: var(--hr-ink-2); display: block; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hrrms-queue__side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex: 0 0 auto; }
.hrrms-queue__item > .hrrms-i { color: var(--hr-ink-3); }

.hrrms-timeline { position: relative; padding: 4px 0; }
.hrrms-tl { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; position: relative; padding-bottom: 18px; }
.hrrms-tl:last-child { padding-bottom: 0; }
.hrrms-tl::before { content: ""; position: absolute; left: 15px; top: 32px; bottom: 0; width: 2px; background: var(--hr-line); }
.hrrms-tl:last-child::before { display: none; }
.hrrms-tl__icon { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--hr-neutral-bg); color: var(--hr-neutral-ink); position: relative; z-index: 1; }
.hrrms-tl__icon .hrrms-i { width: 16px; height: 16px; }
.hrrms-tl--approved .hrrms-tl__icon { background: var(--hr-good-bg); color: var(--hr-good); }
.hrrms-tl--rejected .hrrms-tl__icon { background: var(--hr-bad-bg); color: var(--hr-bad); }
.hrrms-tl--returned .hrrms-tl__icon { background: var(--hr-warn-bg); color: #C98318; }
.hrrms-tl--submitted .hrrms-tl__icon, .hrrms-tl--resubmitted .hrrms-tl__icon, .hrrms-tl--created .hrrms-tl__icon { background: var(--hr-blue-50); color: var(--hr-blue); }
.hrrms-tl__body { min-width: 0; padding-top: 5px; }
.hrrms-tl__title { font-size: 13.5px; font-weight: 500; color: var(--hr-ink); }
.hrrms-tl__title strong { font-weight: 650; }
.hrrms-tl__meta { font-size: 12.5px; color: var(--hr-ink-2); margin-top: 2px; }
.hrrms-tl__comment { margin-top: 8px; padding: 10px 12px; background: var(--hr-soft); border: 1px solid var(--hr-line); border-radius: var(--hr-r); font-size: 13.5px; white-space: pre-line; overflow-wrap: anywhere; }
.hrrms-tl .hrrms-linkbtn { font-weight: 500; font-size: 13.5px; }
.hrrms-cardlist { padding: 18px 20px; }

/* ===================================================================== record modal */
.hrrms-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-start; justify-content: center; padding: 4vh 16px; overflow-y: auto; }
.hrrms-modal__bg { position: fixed; inset: 0; background: rgba(11, 25, 48, .55); backdrop-filter: blur(2px); animation: hrrms-fade .15s ease; }
.hrrms-modal__box { position: relative; background: var(--hr-card); border-radius: 14px; width: 100%; max-width: 1040px; box-shadow: var(--hr-shadow-2); display: flex; flex-direction: column; max-height: 92vh; outline: none; animation: hrrms-pop .18s ease; overflow: hidden; }
.hrrms-modal__box--sm { max-width: 480px; }
.hrrms-modal__box--md { max-width: 680px; }
.hrrms-modal__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px 22px; border-bottom: 1px solid var(--hr-line); }
.hrrms-modal__head h2 { font-size: 18px; font-weight: 650; letter-spacing: -.01em; line-height: 1.3; }
.hrrms-modal__sub { font-size: 13px; color: var(--hr-ink-2); margin-top: 3px; }
.hrrms-modal__x { margin: -6px -8px 0 0; }
.hrrms-modal__body { padding: 20px 22px 22px; overflow-y: auto; flex: 1; min-height: 0; }
.hrrms-modal__foot { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; padding: 14px 22px; border-top: 1px solid var(--hr-line); background: var(--hr-soft); }
body.hrrms-noscroll { overflow: hidden; }
@keyframes hrrms-fade { from { opacity: 0; } }
@keyframes hrrms-pop { from { opacity: 0; transform: translateY(8px) scale(.99); } }
@media (max-width: 760px) {
	.hrrms-modal { padding: 0; }
	.hrrms-modal__box { max-height: none; min-height: 100%; border-radius: 0; }
	.hrrms-modal__box--sm, .hrrms-modal__box--md { min-height: 0; margin: auto 12px; border-radius: 14px; max-height: 92vh; }
	.hrrms-modal__head, .hrrms-modal__body, .hrrms-modal__foot { padding-left: 16px; padding-right: 16px; }
}

.hrrms-rec__badges { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 8px; }
.hrrms-stepper { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin: 0 0 18px; background: var(--hr-soft); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); padding: 14px 16px; gap: 6px; }
.hrrms-step { display: flex; align-items: center; gap: 10px; min-width: 0; position: relative; }
.hrrms-step__dot { width: 28px; height: 28px; border-radius: 50%; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border: 2px solid var(--hr-line-2); background: var(--hr-card); color: var(--hr-ink-3); font-size: 12px; font-weight: 700; }
.hrrms-step__dot .hrrms-i { width: 15px; height: 15px; }
.hrrms-step__text { min-width: 0; }
.hrrms-step__label { font-size: 13px; font-weight: 600; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hrrms-step__state { font-size: 12px; color: var(--hr-ink-2); display: block; }
.hrrms-step.is-done .hrrms-step__dot { background: var(--hr-good); border-color: var(--hr-good); color: #fff; }
.hrrms-step.is-current .hrrms-step__dot { border-color: var(--hr-blue); color: var(--hr-blue); box-shadow: 0 0 0 4px rgba(36, 107, 206, .14); }
.hrrms-step.is-current .hrrms-step__state { color: var(--hr-blue-h); font-weight: 600; }
.hrrms-step.is-stopped .hrrms-step__dot { border-color: var(--hr-bad); background: var(--hr-bad); color: #fff; }
.hrrms-step.is-returned .hrrms-step__dot { border-color: var(--hr-warn); background: var(--hr-warn); color: #fff; }
.hrrms-step.is-stopped .hrrms-step__state { color: var(--hr-bad-ink); font-weight: 600; }
.hrrms-step.is-returned .hrrms-step__state { color: var(--hr-warn-ink); font-weight: 600; }
@media (max-width: 640px) { .hrrms-stepper { grid-auto-flow: row; } }

.hrrms-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--hr-line); margin: 0 0 18px; overflow-x: auto; }
.hrrms-tab { background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; font: inherit; font-size: 14px; font-weight: 600; padding: 10px 12px; cursor: pointer; color: var(--hr-ink-2); white-space: nowrap; display: inline-flex; align-items: center; gap: 7px; }
.hrrms-tab .hrrms-i { width: 16px; height: 16px; }
.hrrms-tab:hover { color: var(--hr-ink); }
.hrrms-tab[aria-selected="true"] { color: var(--hr-blue-h); border-bottom-color: var(--hr-blue); }
.hrrms-tab__n { min-width: 20px; height: 18px; border-radius: 999px; padding: 0 6px; background: var(--hr-neutral-bg); color: var(--hr-ink-2); font-size: 11.5px; display: inline-flex; align-items: center; justify-content: center; }

.hrrms-dsec + .hrrms-dsec { margin-top: 22px; }
.hrrms-dsec h3 { font-size: 14.5px; font-weight: 650; margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.hrrms-dsec h3 .hrrms-i { width: 17px; height: 17px; color: var(--hr-blue); }
.hrrms-dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0 24px; border-top: 1px solid var(--hr-line); }
.hrrms-kv { padding: 10px 0; border-bottom: 1px solid var(--hr-line); min-width: 0; }
.hrrms-kv dt { font-size: 12.5px; font-weight: 500; color: var(--hr-ink-2); }
.hrrms-kv dd { margin: 3px 0 0; font-size: 14px; color: var(--hr-ink); overflow-wrap: anywhere; }
.hrrms-kv--wide { grid-column: 1 / -1; }
.hrrms-kv--wide dd { white-space: pre-line; }

.hrrms-decide { margin: 0 0 20px; border: 1px solid var(--hr-tint-line); background: var(--hr-tint-soft); border-radius: var(--hr-r-lg); padding: 16px 18px; }
.hrrms-decide__head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.hrrms-decide__head .hrrms-i { color: var(--hr-blue); width: 20px; height: 20px; }
.hrrms-decide__head h3 { font-size: 15px; font-weight: 650; }
.hrrms-decide__head p { font-size: 12.5px; color: var(--hr-ink-2); }
.hrrms-decide .hrrms-btnrow { margin-top: 12px; }

/* ===================================================================== confirm/prompt dialogs, toasts */
.hrrms-dialog__icon { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--hr-blue-50); color: var(--hr-blue); margin-bottom: 14px; }
.hrrms-dialog__icon--danger { background: var(--hr-bad-bg); color: var(--hr-bad); }
.hrrms-dialog__icon .hrrms-i { width: 22px; height: 22px; }
.hrrms-dialog p { color: var(--hr-ink-2); font-size: 14px; }
.hrrms-dialog .hrrms-field { margin-top: 16px; }

.hrrms-toasts { position: fixed; right: 20px; bottom: 20px; z-index: 100010; display: flex; flex-direction: column; gap: 10px; max-width: min(420px, calc(100vw - 40px)); pointer-events: none; }
.hrrms-toast { pointer-events: auto; display: flex; gap: 10px; align-items: flex-start; background: var(--hr-navy); color: #fff; padding: 12px 14px; border-radius: var(--hr-r-lg); box-shadow: var(--hr-shadow-2); font-size: 13.5px; animation: hrrms-pop .18s ease; }
.hrrms-toast .hrrms-i { margin-top: 1px; color: #7DB0FF; }
.hrrms-toast--success .hrrms-i { color: #4ED39A; }
.hrrms-toast--error { background: #7E2222; }
.hrrms-toast--error .hrrms-i { color: #FFB4B4; }
.hrrms-toast button { margin-left: auto; background: none; border: 0; color: #B9C6DB; cursor: pointer; padding: 0 0 0 8px; }
@media (max-width: 600px) { .hrrms-toasts { left: 12px; right: 12px; bottom: 12px; max-width: none; } }

/* ===================================================================== requisition form */
.hrrms-formlayout { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 24px; align-items: start; }
.hrrms-formnav { position: sticky; top: calc(var(--hr-bar) + var(--hr-top-h) + 20px); background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); padding: 10px; box-shadow: var(--hr-shadow-1); }
.hrrms-formnav p { font-size: 12.5px; color: var(--hr-ink-2); padding: 6px 10px 10px; }
.hrrms-formnav a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: var(--hr-r); color: var(--hr-ink) !important; font-size: 13.5px; font-weight: 500; }
.hrrms-formnav a:hover { background: var(--hr-bg); }
.hrrms-formnav a.is-active { background: var(--hr-blue-50); color: var(--hr-blue-h) !important; font-weight: 600; }
.hrrms-formnav__n { width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--hr-line-2); display: flex; align-items: center; justify-content: center; font-size: 11.5px; font-weight: 700; color: var(--hr-ink-2); flex: 0 0 auto; background: var(--hr-card); }
.hrrms-formnav a.is-complete .hrrms-formnav__n { background: var(--hr-good); border-color: var(--hr-good); color: #fff; }
.hrrms-formnav a.is-error .hrrms-formnav__n { background: var(--hr-bad); border-color: var(--hr-bad); color: #fff; }
.hrrms-formnav__label { flex: 1; min-width: 0; }
.hrrms-formnav__count { font-size: 11.5px; color: var(--hr-ink-2); font-variant-numeric: tabular-nums; }
.hrrms-section { scroll-margin-top: calc(var(--hr-bar) + var(--hr-top-h) + 16px); }
.hrrms-section + .hrrms-section { margin-top: 20px; }
.hrrms-section .hrrms-card__head h2 { display: flex; align-items: center; gap: 10px; }
.hrrms-section .hrrms-card__head h2 .hrrms-i { color: var(--hr-blue); }
.hrrms-actionbar { position: sticky; bottom: 0; z-index: 5; margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; background: var(--hr-card); backdrop-filter: blur(6px); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); box-shadow: 0 -6px 20px -14px rgba(11, 25, 48, .35); }
.hrrms-actionbar__note { font-size: 13px; color: var(--hr-ink-2); display: flex; align-items: center; gap: 8px; }
.hrrms-actionbar__note .hrrms-i { color: var(--hr-blue); }
.hrrms-modal .hrrms-actionbar { position: static; box-shadow: none; padding: 14px 0 0; border: 0; border-top: 1px solid var(--hr-line); border-radius: 0; background: none; backdrop-filter: none; }
.hrrms-modal .hrrms-section .hrrms-card__body { padding: 16px; }
@container hrrmsapp (max-width: 820px) {
	.hrrms-formlayout { grid-template-columns: minmax(0, 1fr); }
	.hrrms-formnav { position: static; display: flex; overflow-x: auto; gap: 4px; padding: 6px; }
	.hrrms-formnav p { display: none; }
	.hrrms-formnav a { white-space: nowrap; flex: 0 0 auto; }
	.hrrms-formnav__count { display: none; }
}
@container hrrmsapp (max-width: 480px) {
	.hrrms-actionbar { flex-direction: column; align-items: stretch; }
	.hrrms-actionbar .hrrms-btnrow { flex-direction: column-reverse; }
	.hrrms-actionbar .hrrms-btn { width: 100%; }
}
.hrrms-done { text-align: center; padding: 48px 24px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.hrrms-done__icon { width: 64px; height: 64px; border-radius: 50%; background: var(--hr-good-bg); color: var(--hr-good); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.hrrms-done__icon .hrrms-i { width: 30px; height: 30px; }
.hrrms-done h2 { font-size: 22px; font-weight: 650; letter-spacing: -.015em; }
.hrrms-done p { color: var(--hr-ink-2); max-width: 520px; }
.hrrms-done .hrrms-btnrow { justify-content: center; margin-top: 10px; }
.hrrms-done .hrrms-ref { font-size: 14px; color: var(--hr-ink); background: var(--hr-soft); border: 1px solid var(--hr-line); padding: 4px 10px; border-radius: 6px; }

/* ===================================================================== reports */
.hrrms-reportlayout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 20px; align-items: start; }
.hrrms-reportnav { background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); padding: 8px; box-shadow: var(--hr-shadow-1); position: sticky; top: calc(var(--hr-bar) + var(--hr-top-h) + 20px); }
.hrrms-reportnav button { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 10px 12px; border: 0; background: none; border-radius: var(--hr-r); font: inherit; font-size: 13.5px; font-weight: 500; color: var(--hr-ink); cursor: pointer; }
.hrrms-reportnav button .hrrms-i { color: var(--hr-ink-3); width: 17px; height: 17px; }
.hrrms-reportnav button:hover { background: var(--hr-bg); }
.hrrms-reportnav button[aria-pressed="true"] { background: var(--hr-blue-50); color: var(--hr-blue-h); font-weight: 600; }
.hrrms-reportnav button[aria-pressed="true"] .hrrms-i { color: var(--hr-blue); }
.hrrms-reportfilters { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px 14px; align-items: end; }
.hrrms-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.hrrms-tile { border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); padding: 14px 16px; background: var(--hr-soft); }
.hrrms-tile__value { font-size: 26px; font-weight: 650; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.hrrms-tile__label { font-size: 13px; color: var(--hr-ink-2); margin-top: 2px; }
.hrrms-subhead { font-size: 13px; font-weight: 650; color: var(--hr-ink-2); margin: 18px 0 10px; }
.hrrms-tablecard--inner { box-shadow: none; }
@container hrrmsapp (max-width: 760px) {
	.hrrms-reportlayout { grid-template-columns: minmax(0, 1fr); }
	.hrrms-reportnav { position: static; display: flex; overflow-x: auto; gap: 4px; }
	.hrrms-reportnav button { white-space: nowrap; width: auto; flex: 0 0 auto; }
}

/* ===================================================================== profile */
.hrrms-profilehead { display: flex; align-items: center; gap: 18px; padding: 22px; flex-wrap: wrap; }
.hrrms-profilehead h2 { font-size: 22px; font-weight: 650; letter-spacing: -.015em; }
.hrrms-profilehead p { color: var(--hr-ink-2); font-size: 13.5px; margin-top: 2px; }
.hrrms-profilehead .hrrms-badges { margin-top: 8px; }
.hrrms-profilehead__actions { margin-left: auto; }
.hrrms-resp { display: flex; flex-direction: column; gap: 10px; }
.hrrms-resp li { display: flex; align-items: center; gap: 10px; font-size: 13.5px; }
.hrrms-resp .hrrms-i { color: var(--hr-good); }
.hrrms-switch { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 14px; border: 1px solid var(--hr-line); border-radius: var(--hr-r); background: var(--hr-soft); }
.hrrms-switch strong { display: block; font-size: 13.5px; }
.hrrms-switch span { font-size: 12.5px; color: var(--hr-ink-2); }

/* ===================================================================== import wizard */
.hrrms-steps { display: flex; gap: 8px; margin-bottom: 18px; flex-wrap: wrap; }
.hrrms-steps li { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--hr-ink-2); padding: 6px 12px 6px 6px; background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: 999px; }
.hrrms-steps li span { width: 24px; height: 24px; border-radius: 50%; background: var(--hr-neutral-bg); display: flex; align-items: center; justify-content: center; font-size: 12px; }
.hrrms-steps li.is-current { color: var(--hr-blue-h); border-color: var(--hr-tint-line); background: var(--hr-blue-50); }
.hrrms-steps li.is-current span { background: var(--hr-blue); color: #fff; }
.hrrms-steps li.is-done span { background: var(--hr-good); color: #fff; }
.hrrms-opts { display: grid; gap: 10px; }
.hrrms-opts label { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; padding: 12px 14px; border: 1px solid var(--hr-line); border-radius: var(--hr-r); cursor: pointer; background: var(--hr-card); }
.hrrms-opts label:has(input:checked) { border-color: var(--hr-blue-2); background: var(--hr-tint-soft); }
.hrrms-progress { margin-top: 16px; background: var(--hr-neutral-bg); border-radius: 999px; height: 10px; overflow: hidden; }
.hrrms-progress__bar { background: var(--hr-blue); height: 100%; width: 0; transition: width .25s; border-radius: 999px; }
.hrrms-progress__t { display: block; margin-top: 8px; font-size: 13px; color: var(--hr-ink-2); }
.hrrms-kpis--sm { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.hrrms-kpis--sm .hrrms-kpi__value { font-size: 24px; }

/* ===================================================================== sign-in */
.hrrms-login { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: 16px; overflow: hidden; max-width: 1100px; margin: 24px auto; min-height: 600px; box-shadow: var(--hr-shadow-2); }
.hrrms-login--canvas { max-width: none; margin: 0; border: 0; border-radius: 0; box-shadow: none; min-height: calc(100vh - var(--hr-bar)); min-height: calc(100dvh - var(--hr-bar)); }
.hrrms-login__brand { background: var(--hr-navy); color: #C9D4E6; padding: 48px 56px; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.hrrms-login__brand::before { content: ""; position: absolute; inset: auto -120px -160px auto; width: 420px; height: 420px; border-radius: 50%; border: 70px solid rgba(59, 130, 246, .08); }
.hrrms-login__brandin { position: relative; max-width: 460px; }
.hrrms-login__logo { display: flex; align-items: center; gap: 12px; color: #fff; font-weight: 650; font-size: 17px; letter-spacing: -.01em; margin-bottom: 44px; }
.hrrms-login__logo .hrrms-mark, .hrrms-login__logo .hrrms-logo { border-radius: 10px; }
.hrrms-login__claim { font-size: 34px; line-height: 1.15; font-weight: 650; letter-spacing: -.025em; color: #fff; max-width: 420px; }
.hrrms-login__art { width: 100%; max-width: 420px; height: auto; margin: 36px 0 32px; display: block; }
.hrrms-login__points { display: flex; flex-direction: column; gap: 14px; }
.hrrms-login__points li { display: flex; align-items: center; gap: 12px; font-size: 14.5px; }
.hrrms-login__points .hrrms-i { width: 34px; height: 34px; padding: 8px; border-radius: 9px; background: rgba(59, 130, 246, .14); color: #8DB8FF; }
.hrrms-login__panel { display: flex; align-items: center; justify-content: center; padding: 48px 32px; background: var(--hr-card); }
.hrrms-login__card { width: 100%; max-width: 400px; }
.hrrms-login__mobilebrand { display: none; align-items: center; gap: 10px; font-weight: 650; font-size: 16px; margin-bottom: 28px; color: var(--hr-ink); }
.hrrms-login__title { font-size: 28px; font-weight: 650; letter-spacing: -.02em; color: var(--hr-ink); }
.hrrms-login__lead { color: var(--hr-ink-2); margin: 6px 0 26px; font-size: 14.5px; }
.hrrms-loginform { display: flex; flex-direction: column; gap: 18px; }
.hrrms-loginform .hrrms-btn { margin-top: 4px; }
.hrrms-login__foot { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--hr-line); font-size: 12.5px; color: var(--hr-ink-2); }
.hrrms-login .hrrms-notice { margin-bottom: 20px; }
@media (max-width: 900px) {
	.hrrms-login { grid-template-columns: minmax(0, 1fr); min-height: 0; }
	.hrrms-login__brand { display: none; }
	.hrrms-login__mobilebrand { display: flex; }
	.hrrms-login__panel { padding: 40px 20px; align-items: flex-start; }
	.hrrms-login--canvas .hrrms-login__panel { padding-top: 12vh; }
}

/* ===================================================================== wp-admin integration */
.wp-admin .hrrms-app { margin-top: 16px; max-width: 1400px; }
.wp-admin .hrrms-app.hrrms-ui { font-size: 14px; }
.wp-admin .hrrms-ui .hrrms-table thead th { position: static; }
.wp-admin .hrrms-formnav, .wp-admin .hrrms-reportnav { top: 52px; }
.wp-admin .hrrms-section { scroll-margin-top: 52px; }

/* ===================================================================== motion & print */
@media (prefers-reduced-motion: reduce) {
	.hrrms-ui *, .hrrms-ui *::before, .hrrms-ui *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media print {
	.hrrms-side, .hrrms-top, .hrrms-toolbar, .hrrms-filterpanel, .hrrms-pager, .hrrms-modal__bg, .hrrms-actionbar, .hrrms-toasts { display: none !important; }
	.hrrms-portal { display: block; background: var(--hr-card); }
	.hrrms-content { padding: 0; }
	.hrrms-card, .hrrms-tablecard, .hrrms-kpi { box-shadow: none; break-inside: avoid; }
}

/* ================================================================== 1.2.0: recruitment lifecycle */
.hrrms-tiles--sm { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.hrrms-tiles--sm .hrrms-tile { padding: 12px 14px; }
.hrrms-tiles--sm .hrrms-tile__value { font-size: 21px; }
a.hrrms-tile { display: block; color: var(--hr-ink) !important; text-decoration: none; transition: border-color .15s, background .15s; }
a.hrrms-tile:hover { border-color: var(--hr-blue-2); background: var(--hr-card); }
.hrrms-tile--bad .hrrms-tile__value { color: var(--hr-bad-ink); }
.hrrms-bad { color: var(--hr-bad-ink); }
.hrrms-bad .hrrms-i { width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px; }
.hrrms-modal__box--lg { max-width: 860px; }

.hrrms-route { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; counter-reset: rt; }
.hrrms-route li { counter-increment: rt; display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; padding: 10px 12px 10px 44px; position: relative; border: 1px solid var(--hr-line); border-radius: var(--hr-r); font-size: 13.5px; background: var(--hr-card); }
.hrrms-route li::before { content: counter(rt); position: absolute; left: 12px; top: 9px; width: 22px; height: 22px; border-radius: 50%; background: var(--hr-neutral-bg); color: var(--hr-ink-2); font-size: 12px; font-weight: 650; display: flex; align-items: center; justify-content: center; }
.hrrms-route li.is-current { border-color: var(--hr-blue-2); background: var(--hr-blue-50); }
.hrrms-route li.is-current::before { background: var(--hr-blue); color: #fff; }
.hrrms-route li.is-bad { border-color: #F2C4C4; background: var(--hr-bad-bg); }

.hrrms-filelink { display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; border: 1px solid var(--hr-line); border-radius: var(--hr-r); background: var(--hr-soft); font-size: 13.5px; font-weight: 550; max-width: 100%; }
.hrrms-filelink span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hrrms-filelink small { color: var(--hr-ink-2); font-weight: 400; }
.hrrms-filelink .hrrms-i { width: 16px; height: 16px; flex: none; }

.hrrms-ivcard .hrrms-card__head h3 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.hrrms-ivcard .hrrms-card__head p { display: flex; align-items: center; gap: 6px; }
.hrrms-ivcard .hrrms-card__head p .hrrms-i { width: 15px; height: 15px; }
.hrrms-evals { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 12px; }
.hrrms-eval { border: 1px solid var(--hr-line); border-radius: var(--hr-r); padding: 12px 14px; background: var(--hr-soft); }
.hrrms-eval__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 13.5px; }
.hrrms-scores { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.hrrms-scores li { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; color: var(--hr-ink-2); }
.hrrms-dots { display: inline-flex; gap: 3px; align-items: center; }
.hrrms-dots i { width: 9px; height: 9px; border-radius: 50%; background: var(--hr-line-2); display: block; }
.hrrms-dots i.on { background: var(--hr-blue); }

.hrrms-rating { border: 0; margin: 0; padding: 0; min-width: 0; }
.hrrms-rating legend { font-size: 13.5px; font-weight: 600; margin-bottom: 6px; padding: 0; }
.hrrms-rating__opts { display: inline-flex; border: 1px solid var(--hr-line-2); border-radius: var(--hr-r); overflow: hidden; }
.hrrms-rating__opts label { position: relative; cursor: pointer; }
.hrrms-rating__opts input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.hrrms-rating__opts span { display: flex; align-items: center; justify-content: center; width: 40px; height: 36px; font-weight: 600; font-size: 14px; color: var(--hr-ink-2); border-right: 1px solid var(--hr-line); }
.hrrms-rating__opts label:last-child span { border-right: 0; }
.hrrms-rating__opts input:checked + span { background: var(--hr-blue); color: #fff; }
.hrrms-rating__opts input:focus-visible + span { box-shadow: inset var(--hr-focus); }

.hrrms-tasks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.hrrms-task { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 12px 14px; border: 1px solid var(--hr-line); border-radius: var(--hr-r); background: var(--hr-card); }
.hrrms-task__main { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; min-width: 0; flex: 1 1 260px; }
.hrrms-task__main .hrrms-cellsub { flex-basis: 100%; }
.hrrms-task.is-done, .hrrms-task.is-waived { background: var(--hr-soft); }
.hrrms-task.is-done strong, .hrrms-task.is-waived strong { color: var(--hr-ink-2); }
.hrrms-progress { height: 8px; border-radius: 999px; background: var(--hr-neutral-bg); overflow: hidden; margin-top: 12px; }
.hrrms-progress span { display: block; height: 100%; background: var(--hr-good); border-radius: inherit; }
.hrrms-progress--sm { height: 5px; margin: 0 0 4px; width: 90px; }

.hrrms-pipeline--stages { background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); margin-bottom: 16px; box-shadow: var(--hr-shadow-1); padding: 16px 18px 14px; overflow-x: auto; grid-auto-columns: minmax(96px, 1fr); }
button.hrrms-pipe { background: none; border: 0; font: inherit; cursor: pointer; text-align: left; padding: 0 14px 0 0; }
button.hrrms-pipe .hrrms-pipe__node { width: 38px; height: 38px; font-size: 14.5px; }
button.hrrms-pipe::after { left: 38px; top: 18px; }
button.hrrms-pipe[aria-pressed="true"] .hrrms-pipe__label { color: var(--hr-blue); text-decoration: underline; text-underline-offset: 3px; }
button.hrrms-pipe .hrrms-pipe__label { font-size: 12.5px; }
@container hrrmsapp (max-width: 560px) { .hrrms-pipeline--stages { grid-auto-flow: column; } .hrrms-pipeline--stages .hrrms-pipe { flex-direction: column; align-items: flex-start; } .hrrms-pipeline--stages .hrrms-pipe::after { display: none; } }
.hrrms-ui .hrrms-toolbar select { width: auto; max-width: 220px; }
.hrrms-ui input[type=file] { font-size: 13.5px; max-width: 100%; }

/* ===================================================================== HEALTHRIX header logo (transparent white, logo only) */
.hrrms-logo.hrrms-logo--wide { display: block; width: auto; max-width: 100%; border-radius: 0; object-fit: contain; object-position: left center; }
.hrrms-side__home .hrrms-logo.hrrms-logo--wide { height: 38px; border-radius: 0; }
.hrrms-login__logo .hrrms-logo.hrrms-logo--wide { height: 52px; border-radius: 0; }
.hrrms-portal[data-collapsed="1"] .hrrms-side__home .hrrms-logo.hrrms-logo--wide { width: 34px; height: 34px; object-fit: cover; object-position: left center; }
@container hrrms (max-width: 1023px) {
	.hrrms-portal[data-collapsed="1"] .hrrms-side__home .hrrms-logo.hrrms-logo--wide { width: auto; height: 38px; object-fit: contain; }
}


/* ===================================================================== 1.4.3 light / dark mode, motion */
html[data-hrrms-theme="dark"] { color-scheme: dark; }
html[data-hrrms-theme="dark"] .hrrms-ui {
	--hr-navy: #070E1C; --hr-navy-2: #0D1A33; --hr-navy-3: #13264A;
	--hr-blue: #3B82F6; --hr-blue-h: #5B9AF8; --hr-blue-2: #60A5FA; --hr-blue-50: #13264A;
	--hr-bg: #0B1220; --hr-card: #121C2E; --hr-soft: #0F192A;
	--hr-ink: #E6ECF5; --hr-ink-2: #A9B4C6; --hr-ink-3: #8593AB;
	--hr-line: #22304A; --hr-line-2: #2E3F5E;
	--hr-good-ink: #4ADE9A; --hr-good-bg: #0F2E24; --hr-warn-ink: #F3C06B; --hr-warn-bg: #33270F; --hr-bad-ink: #F59A9A; --hr-bad-bg: #3A1717;
	--hr-neutral-bg: #1B2840; --hr-neutral-ink: #C3CDDC;
	--hr-on-tint: #A9C8F6; --hr-tint-line: #23406F; --hr-tint-soft: #10203A;
	--hr-shadow-1: 0 1px 2px rgba(0, 0, 0, .45); --hr-shadow-2: 0 18px 40px -12px rgba(0, 0, 0, .65), 0 2px 6px rgba(0, 0, 0, .4);
	--hr-focus: 0 0 0 3px rgba(96, 165, 250, .5);
}
html[data-hrrms-theme="dark"] body.hrrms-canvas-page { background: #0B1220; }
html[data-hrrms-theme="dark"] .hrrms-top { background: rgba(13, 22, 38, .92); }
html[data-hrrms-theme="dark"] .hrrms-ui :is(.hrrms-user__menu, .hrrms-btn, .hrrms-empty--page, .hrrms-filterpanel, .hrrms-tablecard, .hrrms-kpi, .hrrms-stats, .hrrms-modal__box, .hrrms-pipe.is-zero .hrrms-pipe__node, .hrrms-seg button[aria-pressed="true"]),
html[data-hrrms-theme="dark"] .hrrms-ui :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]) { background: var(--hr-card); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-search input[type="search"]:focus { background: var(--hr-card); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-btn--primary { background: var(--hr-blue); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-btn--danger { background: var(--hr-bad); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-btn--success { background: var(--hr-good); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-btn--navy { background: var(--hr-navy-3); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-btn--warn { background: var(--hr-warn-bg); border-color: #6b5320; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-table tbody tr:hover > * { background: var(--hr-soft); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-badge--legacy { background: #251F3A; color: #C9B8F5; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-badge--info { background: #15233F; color: #A9C4F2; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-chip:hover { background: #1A3258; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-kpi--navy .hrrms-kpi__icon { background: #1B2840; color: var(--hr-ink); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-decide { border-color: #23406F; background: #10203A; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-opts label:has(input:checked) { background: #10203A; }

/* theme toggle button: moon in light mode, sun in dark mode */
.hrrms-themebtn { cursor: pointer; }
.hrrms-themebtn svg { width: 20px; height: 20px; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hrrms-themebtn .hrrms-ico-sun { display: none; }
html[data-hrrms-theme="dark"] .hrrms-themebtn .hrrms-ico-sun { display: block; }
html[data-hrrms-theme="dark"] .hrrms-themebtn .hrrms-ico-moon { display: none; }
.hrrms-themebtn:focus-visible { outline: 2px solid var(--hr-blue-2, #3B82F6); outline-offset: 2px; }

/* motion: only what answers a person's action (1.7.0 removed the staggered entrances and hover lift) */
.hrrms-ui .hrrms-btn, .hrrms-ui .hrrms-nav__link { transition: box-shadow .15s ease, background-color .15s ease, border-color .15s ease; }
.hrrms-ui .hrrms-btn:active:not([disabled]) { transform: translateY(1px); }
html.hrrms-theme-anim, html.hrrms-theme-anim body, html.hrrms-theme-anim .hrrms-ui, html.hrrms-theme-anim .hrrms-ui * { transition: background-color .25s ease, border-color .25s ease, color .25s ease !important; }
@media (prefers-reduced-motion: reduce) {
	html.hrrms-theme-anim, html.hrrms-theme-anim body, html.hrrms-theme-anim .hrrms-ui, html.hrrms-theme-anim .hrrms-ui * { transition: none !important; }
}

/* 1.6.2: vacancy window - bulk send bar and application link */
.hrrms-ui .hrrms-selbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; background: var(--hr-blue-50); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); padding: 12px 16px; margin: 0 0 12px; position: sticky; top: 0; z-index: 2; }
.hrrms-ui .hrrms-selbar__n { font-size: 15px; }
.hrrms-ui .hrrms-selbar [data-send] { margin-left: auto; }
.hrrms-ui .hrrms-applylink { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; border: 1px dashed var(--hr-line-2); border-radius: var(--hr-r-lg); padding: 12px 16px; background: var(--hr-soft); }
.hrrms-ui .hrrms-applylink strong { display: inline-flex; align-items: center; gap: 6px; }
.hrrms-ui .hrrms-applylink__row { display: flex; gap: 8px; margin-top: 6px; }
.hrrms-ui .hrrms-applylink__row input { flex: 1; min-width: 0; border: 1px solid var(--hr-line-2); border-radius: var(--hr-r); padding: 8px 10px; font: inherit; background: var(--hr-card); color: var(--hr-ink); }
.hrrms-ui [data-sel], .hrrms-ui [data-sel-all] { width: 18px; height: 18px; accent-color: var(--hr-blue); }
@media (max-width: 640px) { .hrrms-ui .hrrms-selbar [data-send] { width: 100%; margin-left: 0; justify-content: center; } }
.hrrms-ui .hrrms-selbar [hidden], .hrrms-ui [data-send][hidden] { display: none !important; }

/* =====================================================================
 * 1.7.0 design layer: calm white surfaces, navy type, blue for action.
 * Appended last so it refines the rules above without touching markup contracts.
 * ===================================================================== */
.hrrms-ui { --hr-canvas: #F5F7FC; --hr-slate: #5F6B84; --hr-tint: #ECF1FD; }
html[data-hrrms-theme="dark"] .hrrms-ui { --hr-canvas: #0B1220; --hr-slate: #A9B4C6; --hr-tint: #13264A; }

/* cards and headings: one quiet elevation, tighter heads */
.hrrms-ui .hrrms-card, .hrrms-ui .hrrms-tablecard { box-shadow: 0 1px 2px rgba(11, 25, 48, .04), 0 1px 1px rgba(11, 25, 48, .02); }
.hrrms-ui .hrrms-card__head { min-height: 56px; padding: 14px 20px; }
.hrrms-ui .hrrms-card__head h2, .hrrms-ui .hrrms-card__head h3 { font-size: 15px; font-weight: 650; color: var(--hr-ink); }
.hrrms-ui .hrrms-card__head p { color: var(--hr-slate); }
.hrrms-ui .hrrms-kpi__go { display: none; }

/* welcome: plain type on the canvas, no banner */
.hrrms-welcome { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; padding: 4px 0 20px; margin-bottom: 20px; border-bottom: 1px solid var(--hr-line); }
.hrrms-welcome__text { min-width: 0; flex: 1 1 420px; }
.hrrms-welcome__date { font-size: 13px; color: var(--hr-slate); margin-bottom: 4px; }
.hrrms-ui .hrrms-welcome h2, .hrrms-ui .hrrms-welcome h1 { font-size: 26px; font-weight: 650; letter-spacing: -.02em; line-height: 1.2; color: var(--hr-navy); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-welcome :is(h1, h2) { color: var(--hr-ink); }
.hrrms-welcome__lead { margin-top: 8px; font-size: 14.5px; color: var(--hr-slate); max-width: 720px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.hrrms-welcome__lead strong { color: var(--hr-ink); font-weight: 600; }
.hrrms-welcome__role { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 6px; background: var(--hr-tint); color: var(--hr-on-tint); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
html[data-hrrms-theme="dark"] .hrrms-welcome__role { color: #A9C8F6; }
.hrrms-welcome__actions { display: flex; flex-wrap: wrap; gap: 8px; }
[data-banner-slot]:empty { display: none; }
[data-banner-slot] { margin-bottom: 16px; }
[data-banner-slot] .hrrms-notice { margin-bottom: 8px; }

/* key figures: one joined panel divided by hairlines instead of four floating cards */
.hrrms-ui .hrrms-figures { gap: 0; background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); overflow: hidden; margin-bottom: 20px; box-shadow: 0 1px 2px rgba(11, 25, 48, .04); }
.hrrms-ui .hrrms-figures > .hrrms-kpi { border: 0; border-radius: 0; box-shadow: 1px 0 0 var(--hr-line), 0 1px 0 var(--hr-line); padding: 18px 20px 16px; background: transparent; animation: none; transform: none; }
.hrrms-ui .hrrms-figures > a.hrrms-kpi:hover { background: var(--hr-soft); box-shadow: 1px 0 0 var(--hr-line), 0 1px 0 var(--hr-line); }
.hrrms-ui .hrrms-figures > a.hrrms-kpi:hover .hrrms-kpi__label { color: var(--hr-blue-h); }
.hrrms-ui .hrrms-figures .hrrms-kpi__top { margin-bottom: 6px; }
.hrrms-ui .hrrms-figures .hrrms-kpi__label { font-size: 13px; color: var(--hr-slate); }
.hrrms-ui .hrrms-figures .hrrms-kpi__icon { width: 28px; height: 28px; border-radius: 7px; background: var(--hr-canvas); color: var(--hr-slate); }
.hrrms-ui .hrrms-figures .hrrms-kpi__icon .hrrms-i { width: 16px; height: 16px; }
.hrrms-ui .hrrms-figures .hrrms-kpi--warn .hrrms-kpi__icon { background: var(--hr-warn-bg); color: #B7741A; }
.hrrms-ui .hrrms-figures .hrrms-kpi--good .hrrms-kpi__icon { background: var(--hr-good-bg); color: var(--hr-good); }
.hrrms-ui .hrrms-figures .hrrms-kpi__value { font-size: 30px; color: var(--hr-navy); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-figures .hrrms-kpi__value { color: var(--hr-ink); }
.hrrms-ui .hrrms-figures .hrrms-kpi__meta { color: var(--hr-slate); }

/* secondary figures: a quiet grey band */
.hrrms-ui .hrrms-stats { background: transparent; border: 1px solid var(--hr-line); box-shadow: none; animation: none; }
.hrrms-ui .hrrms-stat { border-color: var(--hr-line); }
.hrrms-ui .hrrms-stat__value { font-size: 19px; color: var(--hr-ink); }
.hrrms-ui .hrrms-stat__label { color: var(--hr-slate); }
.hrrms-ui a.hrrms-stat:hover { background: var(--hr-card); }
.hrrms-ui a.hrrms-stat:hover .hrrms-stat__label { color: var(--hr-blue-h); }
.hrrms-ui .hrrms-stat--bad .hrrms-stat__value { color: var(--hr-bad-ink); }

/* hiring pipeline: the one signature element - a rail from application to joining */
.hrrms-pipeband { background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); margin-bottom: 20px; box-shadow: 0 1px 2px rgba(11, 25, 48, .04); }
.hrrms-pipeband[hidden] { display: none; }
.hrrms-pipeband__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; padding: 16px 20px 0; }
.hrrms-ui .hrrms-pipeband__head h2 { font-size: 15px; font-weight: 650; }
.hrrms-pipeband__head p { font-size: 12.5px; color: var(--hr-slate); }
.hrrms-pipeband__track { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); padding: 14px 8px 16px; counter-reset: none; }
.hrrms-step-p { position: relative; min-width: 0; padding: 0 6px; }
.hrrms-step-p::before { content: ""; position: absolute; left: 18px; top: 7px; width: 10px; height: 10px; border-radius: 50%; background: var(--hr-card); border: 2px solid var(--hr-blue); z-index: 1; }
.hrrms-step-p::after { content: ""; position: absolute; left: 30px; right: -16px; top: 11px; height: 2px; background: var(--hr-line-2); }
.hrrms-step-p:last-child::after { display: none; }
.hrrms-step-p:not(.is-zero)::before { background: var(--hr-blue); }
.hrrms-step-p.is-warn:not(.is-zero)::before { background: #D9902B; border-color: #D9902B; box-shadow: 0 0 0 4px rgba(217, 144, 43, .16); }
.hrrms-step-p.is-good:not(.is-zero)::before { background: var(--hr-good); border-color: var(--hr-good); }
.hrrms-step-p.is-zero::before { border-color: var(--hr-line-2); }
.hrrms-step-p__in { display: flex; flex-direction: column; gap: 2px; padding: 26px 12px 10px; border-radius: 8px; color: var(--hr-ink) !important; min-width: 0; height: 100%; }
a.hrrms-step-p__in:hover { background: var(--hr-soft); }
a.hrrms-step-p__in:hover .hrrms-step-p__l { color: var(--hr-blue-h); }
.hrrms-step-p__v { font-size: 26px; font-weight: 650; letter-spacing: -.02em; line-height: 1.15; font-variant-numeric: tabular-nums; color: var(--hr-navy); }
html[data-hrrms-theme="dark"] .hrrms-step-p__v { color: var(--hr-ink); }
.hrrms-step-p.is-zero .hrrms-step-p__v { color: var(--hr-ink-3); }
.hrrms-step-p.is-warn:not(.is-zero) .hrrms-step-p__v { color: #A8650C; }
.hrrms-step-p.is-good:not(.is-zero) .hrrms-step-p__v { color: var(--hr-good-ink); }
html[data-hrrms-theme="dark"] .hrrms-step-p.is-warn:not(.is-zero) .hrrms-step-p__v { color: var(--hr-warn-ink); }
.hrrms-step-p__l { font-size: 13px; font-weight: 600; line-height: 1.3; }
.hrrms-step-p__s { font-size: 12px; color: var(--hr-slate); line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hrrms-step-p__bar { display: block; height: 4px; margin-top: 10px; border-radius: 2px; background: var(--hr-canvas); overflow: hidden; }
.hrrms-step-p__bar i { display: block; height: 100%; border-radius: 2px; background: #9DBDEB; }
.hrrms-step-p.is-warn .hrrms-step-p__bar i { background: #E7B66A; }
.hrrms-step-p.is-good .hrrms-step-p__bar i { background: #7FCDA6; }
@container hrrmsapp (max-width: 1080px) {
	.hrrms-pipeband__track { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 6px; }
	.hrrms-step-p:nth-child(4n)::after { display: none; }
}
@container hrrmsapp (max-width: 600px) {
	.hrrms-pipeband__track { grid-template-columns: minmax(0, 1fr); padding: 10px 8px 12px; row-gap: 0; }
	.hrrms-step-p::after { left: 22px; right: auto; top: 22px; bottom: -6px; width: 2px; height: auto; display: block; }
	.hrrms-step-p:nth-child(4n)::after { display: block; }
	.hrrms-step-p:last-child::after { display: none; }
	.hrrms-step-p::before { top: 14px; }
	.hrrms-step-p__in { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "l v" "s v"; align-items: center; column-gap: 12px; padding: 8px 10px 8px 36px; }
	.hrrms-step-p__v { grid-area: v; font-size: 20px; }
	.hrrms-step-p__l { grid-area: l; }
	.hrrms-step-p__s { grid-area: s; }
	.hrrms-step-p__bar { display: none; }
}

/* dashboard rows */
.hrrms-dashrow { margin-bottom: 20px; }
.hrrms-row-73.hrrms-dashrow.is-single { grid-template-columns: minmax(0, 1fr); }
.hrrms-ui .hrrms-dash > .hrrms-card, .hrrms-ui .hrrms-dash > section.hrrms-card { margin-bottom: 20px; }
[data-track-slot]:empty { display: none; }
[data-track-slot] { margin-bottom: 20px; }
[data-track-slot] .hrrms-fr, .hrrms-pre .hrrms-fr { gap: 16px; }
.hrrms-pre { margin-bottom: 20px; }
.hrrms-pre[hidden] { display: none; }

/* upcoming interviews: a short agenda */
.hrrms-upcoming .hrrms-card__body { padding: 8px 12px 12px; }
.hrrms-agenda { display: flex; flex-direction: column; }
.hrrms-agenda li + li { border-top: 1px solid var(--hr-line); }
.hrrms-agenda__item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 8px; background: none; border: 0; border-radius: 8px; text-align: left; cursor: pointer; color: var(--hr-ink); font: inherit; }
.hrrms-agenda__item:hover { background: var(--hr-soft); }
.hrrms-agenda__item:hover .hrrms-agenda__title { color: var(--hr-blue-h); }
.hrrms-agenda__date { flex: 0 0 auto; width: 46px; height: 48px; border-radius: 8px; border: 1px solid var(--hr-line); background: var(--hr-card); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; }
.hrrms-agenda__date strong { font-size: 17px; font-weight: 700; color: var(--hr-navy); font-variant-numeric: tabular-nums; }
html[data-hrrms-theme="dark"] .hrrms-agenda__date strong { color: var(--hr-ink); }
.hrrms-agenda__date span { font-size: 11.5px; color: var(--hr-slate); font-weight: 600; }
.hrrms-agenda__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.hrrms-agenda__title { font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hrrms-agenda__sub { font-size: 12.5px; color: var(--hr-slate); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* tables, tabs, badges, buttons, filters, empty states */
.hrrms-ui .hrrms-table thead th { font-size: 12px; color: var(--hr-slate); letter-spacing: .01em; }
.hrrms-ui .hrrms-table tbody tr:hover > * { background: var(--hr-soft); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-table tbody tr:hover > * { background: var(--hr-soft); }
.hrrms-ui .hrrms-tabs { gap: 2px; flex-wrap: nowrap; scrollbar-width: thin; }
.hrrms-ui .hrrms-tab { padding: 10px 14px 11px; font-size: 14px; color: var(--hr-slate); border-radius: 0; }
.hrrms-ui .hrrms-tab:hover { color: var(--hr-ink); background: transparent; }
.hrrms-ui .hrrms-tab[aria-selected="true"], .hrrms-ui .hrrms-tab[aria-current="page"] { color: var(--hr-navy); border-bottom-color: var(--hr-blue); background: transparent; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-tab[aria-selected="true"], html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-tab[aria-current="page"] { color: var(--hr-ink); }
.hrrms-ui .hrrms-tab[aria-selected="true"] .hrrms-tab__n, .hrrms-ui .hrrms-tab[aria-current="page"] .hrrms-tab__n { background: var(--hr-tint); color: var(--hr-on-tint); }
.hrrms-ui .hrrms-badge { font-weight: 600; height: 22px; padding: 0 8px; border-radius: 6px; }
.hrrms-ui .hrrms-btn { box-shadow: 0 1px 1px rgba(11, 25, 48, .04); }
.hrrms-ui .hrrms-btn--primary { box-shadow: 0 1px 2px rgba(36, 107, 206, .25); }
.hrrms-ui .hrrms-filterpanel { box-shadow: none; background: var(--hr-card); }
.hrrms-ui .hrrms-empty__icon.hrrms-i, .hrrms-ui .hrrms-empty > .hrrms-i { background: var(--hr-canvas); color: var(--hr-slate); border: 1px solid var(--hr-line); }
.hrrms-ui .hrrms-empty h2, .hrrms-ui .hrrms-empty h3 { font-size: 15px; }
.hrrms-ui .hrrms-empty p { color: var(--hr-slate); }

/* server-rendered screens (HR and Final Approver): grouped figures */
.hrrms-figgroup { display: flex; flex-direction: column; gap: 10px; }
.hrrms-ui .hrrms-figgroup__h { font-size: 13.5px; font-weight: 600; color: var(--hr-slate); }
.hrrms-ui .hrrms-fr .hrrms-figures { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin-bottom: 0; }
.hrrms-ui.hrrms-fr .hrrms-figures { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin-bottom: 0; gap: 0; }
.hrrms-fr .hrrms-welcome { margin-bottom: 0; }

/* responsive */
@container hrrmsapp (max-width: 860px) {
	.hrrms-ui .hrrms-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container hrrmsapp (max-width: 560px) {
	.hrrms-welcome { padding-bottom: 16px; margin-bottom: 16px; }
	.hrrms-ui .hrrms-welcome :is(h1, h2) { font-size: 22px; }
	.hrrms-welcome__actions { width: 100%; }
	.hrrms-welcome__actions .hrrms-btn { flex: 1 1 auto; justify-content: center; }
	.hrrms-ui .hrrms-figures > .hrrms-kpi { padding: 14px 14px 12px; }
	.hrrms-ui .hrrms-figures .hrrms-kpi__value { font-size: 24px; }
	.hrrms-ui .hrrms-figures .hrrms-kpi__icon { display: none; }
	.hrrms-ui .hrrms-card__head { padding: 12px 16px; }
	.hrrms-ui .hrrms-card__body { padding: 16px; }
}

/* 1.7.0: lifecycle tiles read as one joined grid; the monthly chart stays compact */
.hrrms-ui .hrrms-tiles, .hrrms-ui .hrrms-tiles--sm { gap: 0; border: 1px solid var(--hr-line); border-radius: var(--hr-r-lg); overflow: hidden; background: var(--hr-card); }
.hrrms-ui .hrrms-tile { border: 0; border-radius: 0; background: transparent; box-shadow: 1px 0 0 var(--hr-line), 0 1px 0 var(--hr-line); animation: none; }
.hrrms-ui a.hrrms-tile:hover { background: var(--hr-soft); border: 0; }
.hrrms-ui .hrrms-tile__label { color: var(--hr-slate); }
.hrrms-ui .hrrms-dash .hrrms-cols svg { max-height: 230px; }
.hrrms-ui .hrrms-fr-banner { padding: 10px 12px 10px 14px; align-items: center; margin: 0; }
.hrrms-ui .hrrms-fr-banner strong { font-weight: 550; }
.hrrms-ui .hrrms-banmore { border: 0; padding: 0; }
.hrrms-ui .hrrms-banmore > summary { font-size: 13px; font-weight: 600; color: var(--hr-blue-h); padding: 2px 2px 6px; cursor: pointer; }
.hrrms-ui .hrrms-banmore[open] > summary { margin-bottom: 4px; }
.hrrms-ui .hrrms-banmore .hrrms-fr-banner + .hrrms-fr-banner { margin-top: 8px; }
[data-banner-slot] > [data-pre-banner] { display: flex; flex-direction: column; gap: 8px; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-notice--success { background: #0F2A21; border-color: #1E5240; color: #BDEBD5; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-notice--error { background: #2E1416; border-color: #5C2427; color: #F5C2C2; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-notice--warn { background: #2D2410; border-color: #5A4718; color: #F3D9A5; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-notice--info { background: #11223D; border-color: #23406F; color: #C3D7F5; }
/* dark mode: filled buttons keep their fill (the shared dark :is() surface rule above outranked them) */
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-btn.hrrms-btn--primary.hrrms-btn--primary { background: var(--hr-blue); border-color: var(--hr-blue); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-btn.hrrms-btn--primary.hrrms-btn--primary:hover:not([disabled]) { background: var(--hr-blue-h); border-color: var(--hr-blue-h); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-btn.hrrms-btn--success.hrrms-btn--success { background: var(--hr-good); border-color: var(--hr-good); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-btn.hrrms-btn--danger.hrrms-btn--danger { background: var(--hr-bad); border-color: var(--hr-bad); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-btn.hrrms-btn--navy.hrrms-btn--navy { background: var(--hr-navy-3); border-color: var(--hr-navy-3); }

/* 1.8.0 dark mode completeness (found by the page audit): counts, skeletons, invalid fields */
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-nav__count { background: var(--hr-blue); color: #fff; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-skel { background: linear-gradient(90deg, #172338 0%, #1E2C45 50%, #172338 100%); background-size: 200% 100%; }
html[data-hrrms-theme="dark"] .hrrms-ui :is(input, select, textarea)[aria-invalid="true"] { background-color: #2A1517; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-welcome__role { color: var(--hr-on-tint); }
.hrrms-login__panel { position: relative; }
.hrrms-login__tools { position: absolute; top: 16px; right: 16px; }
.hrrms-login__tools .hrrms-themebtn { border: 1px solid var(--hr-line); color: var(--hr-ink-2); }

/* =====================================================================
 * 1.9.0 Healthrix design system
 * Palette: navy #101B3C, blue #2457D6 / #4778F5, purple #7555D9, canvas #F5F7FC, ink #17233F, slate #5F6B84.
 * Type: Plus Jakarta Sans for headings and figures, Inter for text. Radii 10 / 14. Depth comes from layered,
 * tinted shadows and a top highlight, not from heavy gradients. Every colour has a dark-mode value.
 * ===================================================================== */
.hrrms-ui {
	--hr-display: "HRRMS Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--hr-purple: #7555D9;
	--hr-purple-50: #F1EDFC;
	--hr-orange: #F08A24;
	--hr-teal: #0E9F8E;
	--hr-shadow-card: 0 1px 2px rgba(16, 27, 60, .04), 0 10px 28px -16px rgba(16, 27, 60, .16);
	--hr-shadow-lift: 0 2px 4px rgba(16, 27, 60, .05), 0 18px 36px -18px rgba(16, 27, 60, .28);
	--hr-ease: cubic-bezier(.2, .7, .2, 1);
}
html[data-hrrms-theme="dark"] .hrrms-ui {
	--hr-purple: #9B82F0; --hr-purple-50: #221B3F;
	--hr-shadow-card: 0 1px 2px rgba(0, 0, 0, .5); --hr-shadow-lift: 0 2px 4px rgba(0, 0, 0, .5), 0 18px 36px -18px rgba(0, 0, 0, .8);
}

/* type */
.hrrms-ui :is(h1, h2, h3), .hrrms-ui .hrrms-top__title, .hrrms-ui :is(.hrrms-kpi__value, .hrrms-stat__value, .hrrms-step-p__v, .hrrms-kpi3__v, .hrrms-donut__v) { font-family: var(--hr-display); }
.hrrms-ui .hrrms-card__head :is(h2, h3) { font-weight: 700; letter-spacing: -.01em; }

/* ---------------------------------------------------------------- buttons */
.hrrms-ui .hrrms-btn {
	border-radius: 10px; font-weight: 600; letter-spacing: -.005em;
	box-shadow: 0 1px 2px rgba(16, 27, 60, .06);
	transition: transform .16s var(--hr-ease), box-shadow .16s var(--hr-ease), background-color .16s, border-color .16s, color .16s;
}
.hrrms-ui .hrrms-btn:hover:not([disabled]) { transform: translateY(-1px); box-shadow: 0 2px 4px rgba(16, 27, 60, .06), 0 8px 18px -10px rgba(16, 27, 60, .35); }
.hrrms-ui .hrrms-btn:active:not([disabled]) { transform: translateY(0); }
.hrrms-ui :is(.hrrms-btn--primary, .hrrms-btn--navy, .hrrms-btn--success, .hrrms-btn--danger, .hrrms-btn--purple) { border-color: transparent; color: #fff !important; }
.hrrms-ui .hrrms-btn--primary { background-color: #2457D6; background-image: linear-gradient(180deg, #3A6BEA 0%, #2457D6 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 1px 2px rgba(16, 27, 60, .2), 0 6px 14px -6px rgba(36, 87, 214, .55); }
.hrrms-ui .hrrms-btn--primary:hover:not([disabled]) { background-color: #1C47B5; background-image: linear-gradient(180deg, #3363E2 0%, #1E4CC4 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 2px 4px rgba(16, 27, 60, .2), 0 12px 22px -10px rgba(36, 87, 214, .7); }
.hrrms-ui .hrrms-btn--navy { background-color: #101B3C; background-image: linear-gradient(180deg, #22346A 0%, #101B3C 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 6px 14px -6px rgba(16, 27, 60, .6); }
.hrrms-ui .hrrms-btn--success { background-color: #0E8A5F; background-image: linear-gradient(180deg, #18A673 0%, #0E8A5F 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 6px 14px -6px rgba(14, 138, 95, .55); }
.hrrms-ui .hrrms-btn--danger { background-color: #C93838; background-image: linear-gradient(180deg, #DE4B4B 0%, #C93838 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 6px 14px -6px rgba(201, 56, 56, .5); }
.hrrms-ui .hrrms-btn--purple { background-color: #6644CC; background-image: linear-gradient(180deg, #8063E3 0%, #6644CC 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 6px 14px -6px rgba(117, 85, 217, .55); }
.hrrms-ui :is(.hrrms-btn--navy, .hrrms-btn--success, .hrrms-btn--danger, .hrrms-btn--purple):hover:not([disabled]) { filter: brightness(1.06); }
.hrrms-ui .hrrms-btn--ghost, .hrrms-ui .hrrms-btn--ghost:hover:not([disabled]) { box-shadow: none; transform: none; }
.hrrms-ui .hrrms-btn--lg { min-height: 48px; padding: 0 22px; font-size: 15px; border-radius: 12px; }
.hrrms-ui .hrrms-btn .hrrms-i--go { transition: transform .2s var(--hr-ease); }
.hrrms-ui .hrrms-btn:hover .hrrms-i--go { transform: translateX(3px); }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-btn.hrrms-btn--primary.hrrms-btn--primary { background-color: #2F63E6; background-image: linear-gradient(180deg, #3D70F0 0%, #2A5BDA 100%); border-color: transparent; }

/* ---------------------------------------------------------------- cards */
.hrrms-ui :is(.hrrms-card, .hrrms-tablecard, .hrrms-pipeband, .hrrms-figures, .hrrms-filterpanel) { border-radius: 14px; border-color: var(--hr-line); box-shadow: var(--hr-shadow-card); }
.hrrms-ui .hrrms-card__head { padding: 16px 20px; }
.hrrms-ui .hrrms-card__title { display: flex; align-items: center; gap: 10px; }
.hrrms-ui .hrrms-card__title > .hrrms-i { width: 20px; height: 20px; color: var(--hr-blue); }
.hrrms-ui a.hrrms-card--link, .hrrms-ui .hrrms-lift { transition: transform .2s var(--hr-ease), box-shadow .2s var(--hr-ease); }
.hrrms-ui a.hrrms-card--link:hover, .hrrms-ui .hrrms-lift:hover { transform: translateY(-2px); box-shadow: var(--hr-shadow-lift); }
.hrrms-ui .hrrms-link-more { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 999px; background: var(--hr-tint); color: var(--hr-on-tint) !important; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.hrrms-ui .hrrms-link-more .hrrms-i { width: 14px; height: 14px; transition: transform .2s var(--hr-ease); }
.hrrms-ui .hrrms-link-more:hover .hrrms-i { transform: translateX(2px); }

/* ---------------------------------------------------------------- 3D icon tiles */
.hrrms-ico3 { --c1: #5B93FF; --c2: #2457D6; --glow: 36, 87, 214; position: relative; flex: 0 0 auto; width: 52px; height: 52px; border-radius: 15px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background-color: var(--c2); background-image: linear-gradient(145deg, var(--c1) 0%, var(--c2) 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), inset 0 -3px 6px rgba(0, 0, 0, .12), 0 10px 18px -8px rgba(var(--glow), .6); }
.hrrms-ico3::before { content: ""; position: absolute; inset: 3px 3px 50% 3px; border-radius: 12px 12px 18px 18px; background: linear-gradient(180deg, rgba(255, 255, 255, .28), rgba(255, 255, 255, 0)); pointer-events: none; }
.hrrms-ico3 .hrrms-i { width: 24px; height: 24px; position: relative; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .18)); }
.hrrms-ico3--sm { width: 40px; height: 40px; border-radius: 12px; }
.hrrms-ico3--sm .hrrms-i { width: 19px; height: 19px; }
.hrrms-ico3--purple { --c1: #A386FF; --c2: #6A47D9; --glow: 117, 85, 217; }
.hrrms-ico3--green { --c1: #3DD9A0; --c2: #0E9568; --glow: 14, 149, 104; }
.hrrms-ico3--orange { --c1: #FFB955; --c2: #F0771C; --glow: 240, 119, 28; }
.hrrms-ico3--navy { --c1: #3A4F8F; --c2: #101B3C; --glow: 16, 27, 60; }
.hrrms-ico3--teal { --c1: #38D1C3; --c2: #0C8C80; --glow: 12, 140, 128; }
.hrrms-ico3--rose { --c1: #FF8A9B; --c2: #D93A5A; --glow: 217, 58, 90; }

/* ---------------------------------------------------------------- welcome hero */
.hrrms-hero2 { position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; gap: 12px; min-height: 216px; margin-bottom: 20px; border-radius: 18px; overflow: hidden; background-color: #E9EFFD; background-image: radial-gradient(120% 140% at 0% 0%, #F6F8FF 0%, rgba(246, 248, 255, 0) 55%), linear-gradient(118deg, #E3EBFF 0%, #EAE6FD 62%, #E2DDFB 100%); border: 1px solid #DCE4F8; box-shadow: var(--hr-shadow-card); }
.hrrms-hero2__text { position: relative; z-index: 1; padding: 30px 8px 30px 34px; min-width: 0; }
.hrrms-ui .hrrms-hero2 h2 { font-family: var(--hr-display); font-size: 30px; font-weight: 750; letter-spacing: -.025em; line-height: 1.15; color: var(--hr-navy); }
.hrrms-hero2 h2 b { font-weight: 750; color: #2457D6; }
.hrrms-hero2__lead { margin-top: 8px; font-size: 15px; color: #33415F; max-width: 560px; }
.hrrms-hero2__lead strong { color: var(--hr-navy); }
.hrrms-hero2__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 18px; }
.hrrms-hero2__pill { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border-radius: 999px; background: #101B3C; color: #fff; font-size: 13px; font-weight: 600; box-shadow: 0 8px 16px -10px rgba(16, 27, 60, .7); }
.hrrms-hero2__pill .hrrms-i { width: 16px; height: 16px; opacity: .85; }
.hrrms-hero2__pill i { width: 1px; height: 14px; background: rgba(255, 255, 255, .28); }
.hrrms-hero2__role { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 999px; background: rgba(255, 255, 255, .75); border: 1px solid rgba(36, 87, 214, .18); color: #1D47B3; font-size: 12.5px; font-weight: 650; }
.hrrms-hero2__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.hrrms-hero2__art { position: relative; align-self: stretch; display: flex; align-items: flex-end; justify-content: center; min-height: 216px; }
.hrrms-hero2__art img { display: block; width: 100%; max-width: 440px; height: auto; max-height: 250px; object-fit: contain; object-position: bottom center; animation: hrrms-float 7s ease-in-out infinite; }
.hrrms-hero2__art img.is-custom { animation: none; max-height: 260px; }
@keyframes hrrms-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
html[data-hrrms-theme="dark"] .hrrms-hero2 { background-color: #142046; background-image: radial-gradient(120% 140% at 0% 0%, rgba(71, 120, 245, .18) 0%, rgba(71, 120, 245, 0) 55%), linear-gradient(118deg, #15224A 0%, #1D1A45 100%); border-color: #26345F; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-hero2 h2 { color: #F1F5FF; }
html[data-hrrms-theme="dark"] .hrrms-hero2 h2 b { color: #8FB0FF; }
html[data-hrrms-theme="dark"] .hrrms-hero2__lead { color: #C3CDE3; }
html[data-hrrms-theme="dark"] .hrrms-hero2__lead strong { color: #fff; }
html[data-hrrms-theme="dark"] .hrrms-hero2__pill { background: #2F63E6; }
html[data-hrrms-theme="dark"] .hrrms-hero2__role { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .16); color: #C9D7FF; }

/* ---------------------------------------------------------------- KPI cards */
.hrrms-kpi3s { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.hrrms-kpi3 { position: relative; display: flex; align-items: center; gap: 16px; padding: 20px; min-width: 0; overflow: hidden; background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: 14px; box-shadow: var(--hr-shadow-card); color: var(--hr-ink) !important; transition: transform .2s var(--hr-ease), box-shadow .2s var(--hr-ease); }
.hrrms-kpi3::after { content: ""; position: absolute; right: -36px; bottom: -48px; width: 150px; height: 110px; border-radius: 50%; background: var(--kpi-wash, rgba(36, 87, 214, .07)); pointer-events: none; }
a.hrrms-kpi3:hover { transform: translateY(-3px); box-shadow: var(--hr-shadow-lift); }
a.hrrms-kpi3:hover .hrrms-ico3 { transform: translateY(-1px) rotate(-3deg); }
.hrrms-kpi3 .hrrms-ico3 { transition: transform .25s var(--hr-ease); }
.hrrms-kpi3__body { min-width: 0; position: relative; z-index: 1; }
.hrrms-kpi3__v { display: block; font-size: 30px; font-weight: 750; letter-spacing: -.03em; line-height: 1.05; font-variant-numeric: tabular-nums; color: var(--hr-ink); }
.hrrms-kpi3__l { display: block; margin-top: 3px; font-size: 13.5px; font-weight: 550; color: var(--hr-slate); }
.hrrms-kpi3__s { display: block; margin-top: 2px; font-size: 12px; color: var(--hr-ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hrrms-kpi3--purple { --kpi-wash: rgba(117, 85, 217, .08); }
.hrrms-kpi3--green { --kpi-wash: rgba(14, 149, 104, .08); }
.hrrms-kpi3--orange { --kpi-wash: rgba(240, 119, 28, .08); }
html[data-hrrms-theme="dark"] .hrrms-kpi3::after { opacity: .5; }
html[data-hrrms-theme="dark"] .hrrms-kpi3__s { color: var(--hr-ink-2); }
@container hrrmsapp (max-width: 1080px) { .hrrms-kpi3s { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container hrrmsapp (max-width: 460px) { .hrrms-kpi3s { gap: 10px; } .hrrms-kpi3 { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; } .hrrms-kpi3__v { font-size: 24px; } .hrrms-kpi3 .hrrms-ico3 { width: 40px; height: 40px; border-radius: 12px; } .hrrms-kpi3 .hrrms-ico3 .hrrms-i { width: 19px; height: 19px; } }

/* ---------------------------------------------------------------- dashboard grid */
.hrrms-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 20px; align-items: stretch; }
.hrrms-grid3 > * { min-width: 0; }
.hrrms-grid3 > .hrrms-card { display: flex; flex-direction: column; }
.hrrms-grid3 > .hrrms-card > .hrrms-card__body { flex: 1; }
@container hrrmsapp (max-width: 980px) { .hrrms-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hrrms-grid3 > :last-child:nth-child(odd) { grid-column: 1 / -1; } }
@container hrrmsapp (max-width: 720px) { .hrrms-grid3 { grid-template-columns: minmax(0, 1fr); } }

/* donut */
.hrrms-donut { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.hrrms-donut__ring { position: relative; width: 168px; height: 168px; flex: 0 0 auto; }
.hrrms-donut__ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.hrrms-donut__ring circle { fill: none; stroke-width: 18; }
.hrrms-donut__ring .seg { stroke-linecap: butt; transition: stroke-dasharray .9s var(--hr-ease); }
.hrrms-donut__c { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.hrrms-donut__v { font-size: 30px; font-weight: 750; letter-spacing: -.03em; line-height: 1; color: var(--hr-ink); }
.hrrms-donut__l { font-size: 12px; color: var(--hr-slate); margin-top: 4px; }
.hrrms-donut__legend { flex: 1 1 160px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.hrrms-donut__legend li { display: flex; align-items: center; gap: 10px; font-size: 13.5px; }
.hrrms-donut__legend li a { display: contents; color: inherit !important; }
.hrrms-donut__legend .dot { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto; }
.hrrms-donut__legend .lbl { flex: 1; min-width: 0; color: var(--hr-ink); }
.hrrms-donut__legend .num { font-weight: 700; font-variant-numeric: tabular-nums; font-family: var(--hr-display); }

/* pending final approvals list */
.hrrms-plist { display: flex; flex-direction: column; gap: 10px; }
.hrrms-pitem { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--hr-line); background: var(--hr-card); color: var(--hr-ink) !important; transition: transform .2s var(--hr-ease), box-shadow .2s var(--hr-ease), border-color .2s; }
a.hrrms-pitem:hover { transform: translateY(-2px); box-shadow: var(--hr-shadow-lift); border-color: #CFDAF5; }
.hrrms-pitem__main { flex: 1; min-width: 0; }
.hrrms-pitem__t { display: block; font-weight: 650; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hrrms-pitem__s { display: block; font-size: 12.5px; color: var(--hr-slate); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hrrms-pitem__side { text-align: right; flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; font-size: 12px; color: var(--hr-slate); }
.hrrms-ava { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--hr-display); font-weight: 700; font-size: 14px; color: #fff; background-color: #4778F5; background-image: linear-gradient(145deg, #6E95FF, #2F5FE0); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3); }
.hrrms-ava--1 { background-color: #7555D9; background-image: linear-gradient(145deg, #9C80FF, #6A47D9); }
.hrrms-ava--2 { background-color: #0E9568; background-image: linear-gradient(145deg, #3DD9A0, #0E9568); }
.hrrms-ava--3 { background-color: #C95A0B; background-image: linear-gradient(145deg, #F39A3A, #C2560A); }
.hrrms-ava--4 { background-color: #D93A5A; background-image: linear-gradient(145deg, #FF8A9B, #D93A5A); }
.hrrms-ava--5 { background-color: #0C8C80; background-image: linear-gradient(145deg, #38D1C3, #0C8C80); }

/* next steps / email action card */
.hrrms-nextcard { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; min-height: 230px; padding: 26px 26px 24px; border-radius: 16px; overflow: hidden; color: #fff; background-color: #1A2A6B; background-image: radial-gradient(90% 120% at 100% 0%, rgba(117, 85, 217, .85) 0%, rgba(117, 85, 217, 0) 60%), radial-gradient(80% 90% at 0% 100%, rgba(36, 87, 214, .9) 0%, rgba(36, 87, 214, 0) 65%), linear-gradient(135deg, #101B3C 0%, #1B2C72 100%); box-shadow: 0 2px 4px rgba(16, 27, 60, .12), 0 22px 40px -22px rgba(36, 50, 140, .75); transition: transform .25s var(--hr-ease), box-shadow .25s var(--hr-ease); }
.hrrms-nextcard:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(16, 27, 60, .12), 0 28px 48px -22px rgba(36, 50, 140, .85); }
.hrrms-nextcard__art { position: absolute; right: 6px; top: 4px; width: 46%; max-width: 210px; pointer-events: none; transition: transform .5s var(--hr-ease); }
.hrrms-nextcard:hover .hrrms-nextcard__art { transform: translate(6px, -6px) rotate(-2deg); }
.hrrms-nextcard__body { position: relative; max-width: 62%; }
.hrrms-ui .hrrms-nextcard h2 { color: #fff; font-size: 21px; font-weight: 750; letter-spacing: -.02em; }
.hrrms-nextcard p { margin-top: 6px; color: #D6DEFA; font-size: 13.5px; line-height: 1.5; }
.hrrms-nextcard__count { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; height: 26px; padding: 0 10px; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #fff; font-size: 12.5px; font-weight: 600; }
.hrrms-nextcard__cta { position: relative; align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: 999px; font-weight: 700; font-size: 15px; color: #fff !important; background-color: #2F63E6; background-image: linear-gradient(90deg, #3B6CF0 0%, #6A4BE0 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 10px 22px -10px rgba(91, 80, 240, .9); transition: transform .2s var(--hr-ease), box-shadow .2s var(--hr-ease); }
.hrrms-nextcard__cta:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 16px 28px -12px rgba(91, 80, 240, 1); }
.hrrms-nextcard__cta .hrrms-i { width: 18px; height: 18px; animation: hrrms-nudge 1.8s var(--hr-ease) infinite; }
@keyframes hrrms-nudge { 0%, 60%, 100% { transform: translateX(0); } 30% { transform: translateX(4px); } }
.hrrms-nextcard__cta:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* quick actions */
.hrrms-qa { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 12px; }
.hrrms-qa a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 112px; padding: 14px 10px; text-align: center; border-radius: 14px; border: 1px solid var(--hr-line); background: var(--hr-soft); color: var(--hr-ink) !important; font-size: 13px; font-weight: 650; line-height: 1.3; transition: transform .2s var(--hr-ease), box-shadow .2s var(--hr-ease), background-color .2s; }
.hrrms-qa a:hover { transform: translateY(-3px); background: var(--hr-card); box-shadow: var(--hr-shadow-lift); }
.hrrms-qa a:hover .hrrms-ico3 { transform: scale(1.06); }
.hrrms-qa .hrrms-ico3 { transition: transform .25s var(--hr-ease); }

/* timeline refinements */
.hrrms-ui .hrrms-timeline .hrrms-tl__icon { border-radius: 10px; }

/* page entrance: one quiet orchestrated rise for the dashboard blocks */
@keyframes hrrms-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.hrrms-ui .hrrms-anim > * { animation: hrrms-in .5s var(--hr-ease) both; }
.hrrms-ui .hrrms-anim > :nth-child(2) { animation-delay: .05s; }
.hrrms-ui .hrrms-anim > :nth-child(3) { animation-delay: .1s; }
.hrrms-ui .hrrms-anim > :nth-child(4) { animation-delay: .15s; }

/* ---------------------------------------------------------------- forms, tables, badges, tabs */
.hrrms-ui :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), select, textarea) { border-radius: 10px; transition: border-color .15s, box-shadow .15s; }
.hrrms-ui .hrrms-table thead th { background: var(--hr-soft); font-weight: 650; }
.hrrms-ui .hrrms-badge { border-radius: 999px; height: 24px; padding: 0 10px; }
.hrrms-ui .hrrms-tab[aria-selected="true"], .hrrms-ui .hrrms-tab[aria-current="page"] { border-bottom-width: 3px; }
.hrrms-ui .hrrms-notice { border-radius: 12px; }
.hrrms-ui .hrrms-modal__box { border-radius: 18px; }
.hrrms-ui .hrrms-modal__box { animation: hrrms-pop .22s var(--hr-ease); }
@keyframes hrrms-pop { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: none; } }

/* sidebar: brighter active item */
.hrrms-ui .hrrms-nav__link[aria-current="page"], .hrrms-ui .hrrms-nav__link.is-active { background-color: #2457D6; background-image: linear-gradient(90deg, #2F63E6 0%, #2457D6 100%); color: #fff !important; box-shadow: 0 8px 18px -10px rgba(36, 87, 214, .9); }

/* reduced motion: everything above that moves on its own stops; hover feedback becomes colour only */
@media (prefers-reduced-motion: reduce) {
	.hrrms-ui .hrrms-anim > *, .hrrms-hero2__art img, .hrrms-nextcard__cta .hrrms-i, .hrrms-ui .hrrms-modal__box { animation: none !important; }
	.hrrms-ui :is(.hrrms-btn, .hrrms-kpi3, .hrrms-pitem, .hrrms-nextcard, .hrrms-qa a, .hrrms-lift, a.hrrms-card--link, .hrrms-ico3, .hrrms-nextcard__art) { transition: none !important; transform: none !important; }
}

@container hrrmsapp (max-width: 900px) {
	.hrrms-hero2 { grid-template-columns: minmax(0, 1fr); }
	.hrrms-hero2__art { min-height: 0; order: -1; padding-top: 12px; }
	.hrrms-hero2__art img { max-height: 170px; }
	.hrrms-hero2__text { padding: 8px 22px 24px; }
}
@container hrrmsapp (max-width: 560px) {
	.hrrms-ui .hrrms-hero2 h2 { font-size: 24px; }
	.hrrms-nextcard__body { max-width: none; }
	.hrrms-nextcard__art { opacity: .35; width: 60%; }
	.hrrms-donut { justify-content: center; }
}
.hrrms-ui .hrrms-nav__link[aria-current="page"] .hrrms-i { color: #fff; }
.hrrms-ui .hrrms-nav__link[aria-current="page"]::before { display: none; }
.hrrms-grid3:not(:has(> :nth-child(3))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hrrms-grid3:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
@container hrrmsapp (max-width: 720px) { .hrrms-grid3:not(:has(> :nth-child(3))) { grid-template-columns: minmax(0, 1fr); } }
.hrrms-grid3 > .hrrms-nextcard { min-height: 100%; }
.hrrms-ui .hrrms-kpi3.hrrms-kpi { flex-direction: row; align-items: center; gap: 16px; padding: 20px; border-radius: 14px; }
@container hrrmsapp (max-width: 460px) { .hrrms-ui .hrrms-kpi3.hrrms-kpi { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; } }

/* ---------------------------------------------------------------- legacy server screens (pipeline, IT, history, workspace)
   They were built with wp-admin markup (.wrap, .widefat, .button, .notice, .nav-tab). Inside the portal they now share the
   design system. Higher specificity than the small inline <style> blocks those screens print. */
.hrrms-ui.hrrms-legacy { font-family: var(--hr-font); font-size: 14.5px; color: var(--hr-ink); max-width: none; margin: 0; animation: none; background: transparent; padding: 0; }
.hrrms-ui.hrrms-legacy .wrap { margin: 0; display: flex; flex-direction: column; gap: 18px; }
.hrrms-ui.hrrms-legacy .wrap > h1 { font-family: var(--hr-display); font-size: 22px; font-weight: 750; letter-spacing: -.02em; color: var(--hr-ink); margin: 0; }
.hrrms-ui.hrrms-legacy .wrap > h1:has(+ .hrrms-hero2) { display: none; }
.hrrms-ui.hrrms-legacy :is(h2, h3) { font-family: var(--hr-display); color: var(--hr-ink); }
.hrrms-ui.hrrms-legacy .hrrms-box { background: var(--hr-card) !important; border: 1px solid var(--hr-line) !important; border-radius: 14px !important; padding: 18px 20px !important; margin: 0 !important; max-width: none !important; box-shadow: var(--hr-shadow-card); }
.hrrms-ui.hrrms-legacy .hrrms-box > h2 { font-size: 16px; font-weight: 700; margin: 0 0 12px; padding-bottom: 12px; border-bottom: 1px solid var(--hr-line); }
.hrrms-ui.hrrms-legacy p { margin: 0 0 10px; }
.hrrms-ui.hrrms-legacy table.widefat, .hrrms-ui.hrrms-legacy .hrrms-front-table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--hr-line); border-radius: 12px; overflow: hidden; background: var(--hr-card); margin: 8px 0 12px; font-size: 13.5px; }
.hrrms-ui.hrrms-legacy table.widefat :is(th, td) { padding: 11px 14px; border: 0; border-bottom: 1px solid var(--hr-line); text-align: left; vertical-align: middle; color: var(--hr-ink); background: transparent; }
.hrrms-ui.hrrms-legacy table.widefat thead th { background: var(--hr-soft); color: var(--hr-slate); font-weight: 650; font-size: 12.5px; white-space: nowrap; }
.hrrms-ui.hrrms-legacy table.widefat tbody tr:last-child > * { border-bottom: 0; }
.hrrms-ui.hrrms-legacy table.widefat tbody tr:hover > * { background: var(--hr-soft); }
.hrrms-ui.hrrms-legacy table.striped > tbody > :nth-child(odd) { background: transparent; }
.hrrms-ui.hrrms-legacy :is(.button, button.button, input.button, a.button) { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--hr-line-2); background: var(--hr-card); color: var(--hr-ink) !important; font: inherit; font-size: 13.5px; font-weight: 600; line-height: 1; cursor: pointer; text-decoration: none; box-shadow: 0 1px 2px rgba(16, 27, 60, .06); transition: transform .16s var(--hr-ease), box-shadow .16s var(--hr-ease), background-color .16s; }
.hrrms-ui.hrrms-legacy :is(.button, a.button):hover { transform: translateY(-1px); box-shadow: 0 2px 4px rgba(16, 27, 60, .06), 0 8px 18px -10px rgba(16, 27, 60, .35); }
.hrrms-ui.hrrms-legacy :is(.button-primary, .button.button-primary) { border-color: transparent; color: #fff !important; background-color: #2457D6; background-image: linear-gradient(180deg, #3A6BEA 0%, #2457D6 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 6px 14px -6px rgba(36, 87, 214, .55); }
.hrrms-ui.hrrms-legacy :is(.button.delete, .button-link-delete, .button.button-delete) { color: var(--hr-bad-ink) !important; border-color: #EDBDBD; }
.hrrms-ui.hrrms-legacy .button[disabled] { opacity: .55; cursor: not-allowed; transform: none; }
.hrrms-ui.hrrms-legacy :is(input[type=text], input[type=email], input[type=url], input[type=date], input[type=datetime-local], input[type=number], input[type=search], input[type=time], select, textarea) { min-height: 38px; padding: 7px 11px; border: 1px solid var(--hr-line-2); border-radius: 10px; background: var(--hr-card); color: var(--hr-ink); font: inherit; font-size: 14px; max-width: 100%; }
.hrrms-ui.hrrms-legacy textarea { min-height: 80px; width: 100%; }
.hrrms-ui.hrrms-legacy :is(input, select, textarea):focus { outline: none; border-color: var(--hr-blue-2); box-shadow: var(--hr-focus); }
.hrrms-ui.hrrms-legacy .notice { margin: 0; padding: 12px 16px; border-radius: 12px; border: 1px solid var(--hr-tint-line); border-left-width: 4px; background: var(--hr-tint-soft); color: var(--hr-ink); box-shadow: none; }
.hrrms-ui.hrrms-legacy .notice p { margin: 0; }
.hrrms-ui.hrrms-legacy .notice-success { border-color: #BFE5D2; border-left-color: var(--hr-good); background: var(--hr-good-bg); }
.hrrms-ui.hrrms-legacy .notice-error { border-color: #F1C9C9; border-left-color: var(--hr-bad); background: var(--hr-bad-bg); }
.hrrms-ui.hrrms-legacy .notice-warning { border-color: #F2D7A9; border-left-color: var(--hr-warn); background: var(--hr-warn-bg); }
.hrrms-ui.hrrms-legacy .notice-dismiss { display: none; }
.hrrms-ui.hrrms-legacy .description { color: var(--hr-slate); font-size: 13px; }
.hrrms-ui.hrrms-legacy :is(.nav-tab-wrapper, h2.nav-tab-wrapper) { display: flex; gap: 2px; border-bottom: 1px solid var(--hr-line); margin: 0; padding: 0; overflow-x: auto; }
.hrrms-ui.hrrms-legacy .nav-tab { border: 0; border-bottom: 3px solid transparent; background: transparent !important; margin: 0 0 -1px; padding: 10px 14px; font-size: 14px; font-weight: 600; color: var(--hr-slate) !important; white-space: nowrap; float: none; }
.hrrms-ui.hrrms-legacy .nav-tab-active { color: var(--hr-ink) !important; border-bottom-color: var(--hr-blue); }
.hrrms-ui.hrrms-legacy .hrrms-kcard { border-radius: 14px; border-color: var(--hr-line); background: var(--hr-card); box-shadow: var(--hr-shadow-card); }
.hrrms-ui.hrrms-legacy .hrrms-kcard strong { font-family: var(--hr-display); color: var(--hr-ink); }
.hrrms-ui.hrrms-legacy .hrrms-kcard span { color: var(--hr-slate); }
.hrrms-ui.hrrms-legacy .form-table th { text-align: left; font-weight: 600; padding: 10px 16px 10px 0; vertical-align: top; }
/* IT joiner cards */
.hrrms-itcase__who { display: flex; align-items: center; gap: 12px; min-width: 0; }
.hrrms-itcase__who p { margin: 2px 0 0 !important; }
.hrrms-itcase__bar { height: 8px; border-radius: 999px; background: var(--hr-line); overflow: hidden; margin: 0 0 16px; }
.hrrms-itcase__bar i { display: block; height: 100%; border-radius: 999px; background-color: #12A979; background-image: linear-gradient(90deg, #3DD9A0, #0E9568); transition: width .8s var(--hr-ease); }
.hrrms-itcase__facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; margin: 0 0 14px; }
.hrrms-itcase__facts > div { padding: 10px 12px; border-radius: 10px; background: var(--hr-soft); border: 1px solid var(--hr-line); }
.hrrms-itcase__facts dt { font-size: 12px; color: var(--hr-slate); font-weight: 600; }
.hrrms-itcase__facts dd { margin: 2px 0 0; font-weight: 600; }
.hrrms-ui.hrrms-legacy .hrrms-itcase table.widefat { display: block; overflow-x: auto; }
@media (max-width: 700px) { .hrrms-ui.hrrms-legacy table.widefat { display: block; overflow-x: auto; } }
.hrrms-ui .hrrms-hero2 p.hrrms-hero2__lead { margin: 8px 0 0; }
.hrrms-ui.hrrms-legacy table.widefat select { min-width: 150px; }

/* sign-in brand panel (1.9.0) */
.hrrms-ui .hrrms-login__brand { background-color: #101B3C; background-image: radial-gradient(70% 60% at 100% 0%, rgba(117, 85, 217, .55) 0%, rgba(117, 85, 217, 0) 60%), radial-gradient(70% 60% at 0% 100%, rgba(36, 87, 214, .6) 0%, rgba(36, 87, 214, 0) 65%), linear-gradient(150deg, #101B3C 0%, #1B2C72 100%); }
.hrrms-ui .hrrms-login__brand::before { opacity: .35; }
.hrrms-ui .hrrms-login__claim { font-family: var(--hr-display); }
.hrrms-ui .hrrms-login__art--img { max-width: 440px; filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .25)); animation: hrrms-float 7s ease-in-out infinite; }
.hrrms-ui .hrrms-login__points li > svg, .hrrms-ui .hrrms-login__points .hrrms-i { background-color: #2457D6; background-image: linear-gradient(145deg, #5B93FF, #2457D6); color: #fff; border-radius: 10px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 8px 14px -8px rgba(0, 0, 0, .6); }
.hrrms-ui .hrrms-login__points li:nth-child(2) > svg, .hrrms-ui .hrrms-login__points li:nth-child(2) .hrrms-i { background-color: #6A47D9; background-image: linear-gradient(145deg, #A386FF, #6A47D9); }
.hrrms-ui .hrrms-login__points li:nth-child(3) > svg, .hrrms-ui .hrrms-login__points li:nth-child(3) .hrrms-i { background-color: #0E9568; background-image: linear-gradient(145deg, #3DD9A0, #0E9568); }
.hrrms-ui .hrrms-login__title { font-family: var(--hr-display); font-weight: 750; }
@media (prefers-reduced-motion: reduce) { .hrrms-ui .hrrms-login__art--img { animation: none; } }


/* Phone login sits on a light panel: darken the white logo so it stays visible. */
html:not([data-hrrms-theme="dark"]) .hrrms-login__mobilebrand .hrrms-logo { filter: brightness(0); }
.hrrms-login__mobilebrand .hrrms-logo { height: 40px; max-width: 200px; border-radius: 0; }

/* ---------------------------------------------------------------- portal design: depth, motion, page banner */
.hrrms-portal .hrrms-side { background: linear-gradient(185deg, #16245A 0%, #0D1738 58%, #080F28 100%); box-shadow: 6px 0 28px rgba(8, 15, 40, .28); }
.hrrms-portal .hrrms-side__brand { background: linear-gradient(180deg, rgba(255, 255, 255, .06), transparent); }
.hrrms-portal .hrrms-nav__title { color: #7F8FB5; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.hrrms-portal .hrrms-nav__link { position: relative; border-radius: 11px; transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.hrrms-portal .hrrms-nav__link:hover { transform: translateX(3px); background: rgba(255, 255, 255, .08); }
.hrrms-portal .hrrms-nav__link[aria-current="page"] { background: linear-gradient(135deg, #4F7DFF 0%, #2750D8 60%, #1F3FB4 100%) !important; color: #fff !important; box-shadow: 0 10px 22px -8px rgba(47, 87, 216, .85), inset 0 1px 0 rgba(255, 255, 255, .28), inset 0 -2px 0 rgba(10, 26, 92, .35); }
.hrrms-portal .hrrms-nav__link[aria-current="page"] .hrrms-i { color: #fff; }

.hrrms-portal .hrrms-top { background: rgba(255, 255, 255, .86); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 8px 24px -18px rgba(16, 27, 60, .35); }
html[data-hrrms-theme="dark"] .hrrms-portal .hrrms-top { background: rgba(18, 28, 46, .86); }
.hrrms-portal .hrrms-avatar { background: linear-gradient(145deg, #4F7DFF, #1F3FB4); box-shadow: 0 6px 14px -6px rgba(36, 87, 214, .8), inset 0 1px 0 rgba(255, 255, 255, .3); }

.hrrms-portal .hrrms-content { background: radial-gradient(900px 340px at 92% -60px, rgba(79, 125, 255, .13), transparent 70%), radial-gradient(700px 300px at 8% -80px, rgba(117, 85, 217, .09), transparent 70%); }

.hrrms-pagehero { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 1560px; min-height: 148px; margin: 0 auto 22px; padding: 22px 16px 22px 30px; border-radius: 20px; overflow: hidden; color: #fff; background: linear-gradient(120deg, #17296F 0%, #2750D8 58%, #6D45E0 118%); box-shadow: 0 24px 44px -24px rgba(23, 41, 111, .75), inset 0 1px 0 rgba(255, 255, 255, .2); animation: hrrms-hero-in .45s ease both; }
.hrrms-pagehero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(420px 200px at 78% 40%, rgba(255, 255, 255, .17), transparent 70%), repeating-linear-gradient(120deg, rgba(255, 255, 255, .025) 0 2px, transparent 2px 26px); pointer-events: none; }
.hrrms-pagehero__text { position: relative; min-width: 0; }
.hrrms-pagehero__eyebrow { margin: 0 0 4px; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #BFD0FF; }
.hrrms-ui .hrrms-pagehero__title { margin: 0; color: #fff; font-size: 25px; line-height: 1.2; font-weight: 700; letter-spacing: -.015em; }
.hrrms-pagehero__lead { margin: 6px 0 0; max-width: 56ch; color: #DDE6FF; font-size: 14px; line-height: 1.5; }
.hrrms-pagehero__art { position: relative; flex: 0 0 auto; width: 300px; height: 143px; margin: -10px 0; filter: drop-shadow(0 16px 18px rgba(8, 15, 50, .4)); }
@keyframes hrrms-hero-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.hrrms-portal .hrrms-tablecard { border-radius: 18px; border-color: var(--hr-line); box-shadow: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 22px 42px -30px rgba(16, 27, 60, .5), 0 2px 6px rgba(16, 27, 60, .05); }
.hrrms-portal .hrrms-table thead th { background: linear-gradient(180deg, var(--hr-soft), var(--hr-card)); font-size: 12px; letter-spacing: .02em; }
.hrrms-portal .hrrms-table tbody tr { transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease; }
.hrrms-portal .hrrms-table tbody tr:hover { position: relative; z-index: 1; box-shadow: 0 14px 26px -18px rgba(16, 27, 60, .55); }
.hrrms-portal .hrrms-table tbody tr:hover > * { background: var(--hr-tint-soft); }
.hrrms-portal .hrrms-table tbody tr:hover > :first-child { box-shadow: inset 3px 0 0 var(--hr-blue); }
.hrrms-portal .hrrms-table tbody tr.is-overdue:hover > :first-child { box-shadow: inset 3px 0 0 var(--hr-bad); }

.hrrms-portal .hrrms-btn { border-radius: 11px; transition: transform .14s ease, box-shadow .14s ease, background-color .14s ease, border-color .14s ease; }
.hrrms-portal .hrrms-btn:hover:not([disabled]) { transform: translateY(-2px); }
.hrrms-portal .hrrms-btn:active:not([disabled]) { transform: translateY(1px); }
.hrrms-portal .hrrms-btn--ghost:hover:not([disabled]) { transform: none; }
.hrrms-portal .hrrms-badge { box-shadow: inset 0 0 0 1px rgba(16, 27, 60, .05); }
.hrrms-portal :is(.hrrms-kpi, .hrrms-kpi3, .hrrms-card) { transition: transform .18s ease, box-shadow .18s ease; }
.hrrms-portal a:is(.hrrms-kpi, .hrrms-kpi3):hover { transform: translateY(-3px); box-shadow: 0 22px 34px -24px rgba(16, 27, 60, .6); }

@media (max-width: 1000px) { .hrrms-pagehero__art { width: 210px; height: 100px; } }
@media (max-width: 720px) {
	.hrrms-pagehero { min-height: 0; padding: 18px 20px; border-radius: 16px; margin-bottom: 16px; }
	.hrrms-pagehero__art { display: none; }
	.hrrms-ui .hrrms-pagehero__title { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
	.hrrms-pagehero { animation: none; }
	.hrrms-portal :is(.hrrms-nav__link, .hrrms-btn, .hrrms-kpi, .hrrms-kpi3) { transition: none; transform: none !important; }
}
@media print { .hrrms-pagehero { display: none; } }

/* ---------------------------------------------------------------- profile photos */
.hrrms-avatar { overflow: hidden; }
.hrrms-avatar img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.hrrms-avatarpick { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 0 0 auto; }
.hrrms-ui .hrrms-avatarpick__change, .hrrms-ui .hrrms-avatarpick__remove { padding: 0; margin: 0; border: 0; background: none; font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.hrrms-ui .hrrms-avatarpick__change { color: var(--hr-blue); }
.hrrms-ui .hrrms-avatarpick__remove { color: var(--hr-ink-2); }
.hrrms-avatarpick__change:hover, .hrrms-avatarpick__remove:hover { text-decoration: underline; }
.hrrms-avatarpick__change:focus-within { outline: 2px solid var(--hr-blue); outline-offset: 2px; }
.hrrms-avatarpick input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.hrrms-avatarpick [hidden] { display: none; }

/* ---------------------------------------------------------------- animated headings */
.hrrms-ui :is(h1, h2, h3, .hrrms-login__claim, .hrrms-login__title) { font-weight: 700; letter-spacing: -.018em; }
.hrrms-ui .hrrms-hero2 h2, .hrrms-ui .hrrms-welcome :is(h1, h2), .hrrms-ui .hrrms-pagehero__title, .hrrms-ui .hrrms-login__claim, .hrrms-ui .hrrms-login__title { font-weight: 800; letter-spacing: -.022em; animation: hrrms-head-in .6s cubic-bezier(.2, .8, .2, 1) both; }
.hrrms-ui .hrrms-hero2 h2 b, .hrrms-ui .hrrms-welcome :is(h1, h2) :is(b, strong, em, span) { font-weight: 800; font-style: normal; color: #2457D6; background-image: linear-gradient(100deg, #2457D6 0%, #7555D9 35%, #0FA36E 60%, #2457D6 100%); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: hrrms-head-shine 6s ease-in-out infinite; }
html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-hero2 h2 b, html[data-hrrms-theme="dark"] .hrrms-ui .hrrms-welcome :is(h1, h2) :is(b, strong, em, span) { background-image: linear-gradient(100deg, #7EA6FF 0%, #B79BFF 35%, #5EEBB5 60%, #7EA6FF 100%); }
@keyframes hrrms-head-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes hrrms-head-shine { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@media (prefers-reduced-motion: reduce) {
	.hrrms-ui .hrrms-hero2 h2, .hrrms-ui .hrrms-welcome :is(h1, h2), .hrrms-ui .hrrms-pagehero__title, .hrrms-ui .hrrms-login__claim, .hrrms-ui .hrrms-login__title, .hrrms-ui .hrrms-hero2 h2 b, .hrrms-ui .hrrms-welcome :is(h1, h2) :is(b, strong, em, span) { animation: none; }
}

/* ---------------------------------------------------------------- 3D layer */
.hrrms-pagehero.hrrms-3d-on .hrrms-pagehero__art { visibility: hidden; }
.hrrms-pagehero__text, .hrrms-hero2__art, .hrrms-login__brandin { z-index: 1; }
.hrrms-pagehero, .hrrms-hero2, .hrrms-kpi3, .hrrms-kpi { transform-style: preserve-3d; transition: transform .18s ease-out, box-shadow .18s ease-out; }
.hrrms-portal .hrrms-main { position: relative; }
.hrrms-portal .hrrms-top { z-index: 20; }
@media print { canvas[aria-hidden="true"] { display: none !important; } }

/* ---------------------------------------------------------------- skeleton, empty states, funnel, candidate card, server screens, print */
.hrrms-skelbox { display: flex; flex-direction: column; gap: 12px; padding: 22px; background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: 16px; }
.hrrms-skelbox .hrrms-skel { display: block; height: 14px; border-radius: 8px; }
.hrrms-skelbox .hrrms-skel--h { height: 24px; width: 38%; }
.hrrms-skelbox .hrrms-skel--s { width: 62%; }
html[data-hrrms-theme="dark"] .hrrms-skel { background: linear-gradient(90deg, #1B2840 0%, #26385A 50%, #1B2840 100%); background-size: 200% 100%; }

.hrrms-ui .hrrms-empty::before { content: ""; display: block; width: 132px; height: 94px; margin: 0 auto 4px; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 94'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop stop-color='%236E95FF'/%3E%3Cstop offset='1' stop-color='%232F57D8'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop stop-color='%232F57D8'/%3E%3Cstop offset='1' stop-color='%23172E85'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cellipse cx='66' cy='84' rx='50' ry='9' fill='%237EA2FF' opacity='.22'/%3E%3Cpolygon points='66,20 110,38 66,56 22,38' fill='%23DCE6FF'/%3E%3Cpolygon points='22,38 66,56 66,84 22,66' fill='url(%23a)'/%3E%3Cpolygon points='110,38 66,56 66,84 110,66' fill='url(%23b)'/%3E%3Cpolygon points='22,38 44,29 88,47 66,56' fill='%23fff' opacity='.55'/%3E%3Ccircle cx='100' cy='14' r='7' fill='%235EEBB5'/%3E%3Cpath d='M97 14l2 2 4-4' stroke='%23fff' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3Ccircle cx='24' cy='18' r='3' fill='%23B79BFF'/%3E%3C/svg%3E"); animation: hrrms-empty-float 4.5s ease-in-out infinite; }
.hrrms-ui .hrrms-empty > .hrrms-i { display: none; }
@keyframes hrrms-empty-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

.hrrms-funnel { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.hrrms-funnel li { display: grid; grid-template-columns: 110px minmax(0, 1fr) 44px; align-items: center; gap: 12px; font-size: 13.5px; }
.hrrms-funnel__l { font-weight: 600; color: var(--hr-ink); }
.hrrms-funnel__t { display: block; height: 24px; border-radius: 8px; background: var(--hr-soft); overflow: hidden; }
.hrrms-funnel__b { display: block; height: 100%; border-radius: 8px; transform-origin: left center; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3); animation: hrrms-grow .9s cubic-bezier(.2, .8, .2, 1) both; }
.hrrms-funnel__b--0 { background: linear-gradient(90deg, #4F7DFF, #2457D6); }
.hrrms-funnel__b--1 { background: linear-gradient(90deg, #6F7CFF, #4A55E0); animation-delay: .08s; }
.hrrms-funnel__b--2 { background: linear-gradient(90deg, #9A7BFF, #6D45E0); animation-delay: .16s; }
.hrrms-funnel__b--3 { background: linear-gradient(90deg, #F5A64B, #F0771C); animation-delay: .24s; }
.hrrms-funnel__b--4 { background: linear-gradient(90deg, #3DD9A0, #0E9568); animation-delay: .32s; }
.hrrms-funnel__b--5 { background: linear-gradient(90deg, #2BC7C2, #0E8A8A); animation-delay: .4s; }
.hrrms-funnel__v { font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; color: var(--hr-ink); }
@keyframes hrrms-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.hrrms-portal .hrrms-donut__ring svg { animation: hrrms-ring-in .9s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes hrrms-ring-in { from { transform: rotate(-110deg) scale(.86); opacity: 0; } to { transform: none; opacity: 1; } }

.hrrms-candhero { display: flex; align-items: center; gap: 16px; padding: 18px; margin-bottom: 14px; border-radius: 16px; border: 1px solid var(--hr-tint-line); background: linear-gradient(120deg, var(--hr-tint-soft), var(--hr-card)); box-shadow: 0 16px 28px -24px rgba(16, 27, 60, .6); }
.hrrms-candhero__ava { flex: 0 0 auto; width: 64px; height: 64px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 22px; font-weight: 800; background: linear-gradient(145deg, #6E95FF, #2F5FE0); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 12px 20px -12px rgba(36, 87, 214, .9); }
.hrrms-candhero__ava.hrrms-ava--1 { background: linear-gradient(145deg, #9C80FF, #6A47D9); }
.hrrms-candhero__ava.hrrms-ava--2 { background: linear-gradient(145deg, #3DD9A0, #0E9568); }
.hrrms-candhero__ava.hrrms-ava--3 { background: linear-gradient(145deg, #F39A3A, #C2560A); }
.hrrms-candhero__ava.hrrms-ava--4 { background: linear-gradient(145deg, #F76D8E, #C8325B); }
.hrrms-candhero__ava.hrrms-ava--5 { background: linear-gradient(145deg, #2BC7C2, #0E8A8A); }
.hrrms-candhero__main { flex: 1; min-width: 0; }
.hrrms-ui .hrrms-candhero h3 { margin: 0; font-size: 19px; font-weight: 800; color: var(--hr-ink); }
.hrrms-candhero p { margin: 2px 0 0; color: var(--hr-ink-2); font-size: 13.5px; }
.hrrms-candhero__links { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 8px; font-size: 13px; }
.hrrms-candhero__links a { display: inline-flex; align-items: center; gap: 5px; color: var(--hr-blue) !important; overflow-wrap: anywhere; }
.hrrms-candhero__links .hrrms-i { width: 14px; height: 14px; flex: 0 0 auto; }
.hrrms-candhero__stats { display: flex; gap: 8px; flex: 0 0 auto; }
.hrrms-candhero__stats div { min-width: 68px; padding: 8px 10px; border-radius: 12px; text-align: center; background: var(--hr-card); border: 1px solid var(--hr-line); }
.hrrms-candhero__stats strong { display: block; font-size: 18px; color: var(--hr-ink); }
.hrrms-candhero__stats span { font-size: 11.5px; color: var(--hr-ink-2); }
@media (max-width: 640px) {
	.hrrms-candhero { flex-wrap: wrap; }
	.hrrms-candhero__main { flex-basis: calc(100% - 80px); }
	.hrrms-candhero__stats { width: 100%; }
	.hrrms-candhero__stats div { flex: 1; }
	.hrrms-funnel li { grid-template-columns: 84px minmax(0, 1fr) 34px; gap: 8px; }
}

.hrrms-portal .hrrms-fr .hrrms-card { border-radius: 18px; box-shadow: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 22px 42px -30px rgba(16, 27, 60, .5), 0 2px 6px rgba(16, 27, 60, .05); animation: hrrms-head-in .5s cubic-bezier(.2, .8, .2, 1) both; }
html[data-hrrms-theme="dark"] .hrrms-portal .hrrms-fr .hrrms-card, html[data-hrrms-theme="dark"] .hrrms-portal .hrrms-tablecard { box-shadow: 0 22px 42px -28px rgba(0, 0, 0, .8); }
.hrrms-portal .hrrms-fr .hrrms-card__head { background: linear-gradient(180deg, var(--hr-soft), transparent); border-radius: 18px 18px 0 0; }
.hrrms-portal .hrrms-fr-tabs .hrrms-tab { border-radius: 10px 10px 0 0; transition: background-color .15s; }
.hrrms-portal .hrrms-fr-tabs .hrrms-tab:hover { background: var(--hr-tint-soft); }
.hrrms-portal .hrrms-fr-cand { border-radius: 16px; transition: box-shadow .18s, transform .18s; }
.hrrms-portal .hrrms-fr-cand:hover { transform: translateY(-2px); box-shadow: 0 18px 30px -24px rgba(16, 27, 60, .6); }
html[data-hrrms-theme="dark"] .hrrms-pagehero { box-shadow: 0 24px 44px -24px rgba(0, 0, 0, .85); }

.hrrms-printbtn { margin-left: auto; }
@media print {
	html, body { background: #fff !important; }
	canvas, .hrrms-pagehero, .hrrms-reportnav, .hrrms-printbtn, .hrrms-npop, .hrrms-filterpanel, .hrrms-skip { display: none !important; }
	.hrrms-frame, .hrrms-reportlayout { display: block !important; }
	.hrrms-ui, .hrrms-ui * { box-shadow: none !important; animation: none !important; color: #111 !important; background-image: none !important; }
	.hrrms-tablewrap { overflow: visible !important; }
	.hrrms-ui .hrrms-table thead { position: static !important; width: auto !important; height: auto !important; clip: auto !important; display: table-header-group !important; }
	.hrrms-ui .hrrms-table { display: table !important; }
	.hrrms-ui .hrrms-table tbody { display: table-row-group !important; }
	.hrrms-ui .hrrms-table tr { display: table-row !important; page-break-inside: avoid; }
	.hrrms-ui .hrrms-table :is(th, td) { display: table-cell !important; border-bottom: 1px solid #ccc !important; }
	.hrrms-ui .hrrms-table [data-label]::before { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
	.hrrms-ui .hrrms-empty::before, .hrrms-funnel__b, .hrrms-portal .hrrms-donut__ring svg, .hrrms-portal .hrrms-fr .hrrms-card { animation: none; }
}

/* ---------------------------------------------------------------- kanban board, screening editor, two-factor */
.hrrms-board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(230px, 1fr); gap: 12px; padding: 14px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.hrrms-board__col { display: flex; flex-direction: column; min-height: 240px; padding: 10px; border-radius: 14px; background: var(--hr-soft); border: 1.5px solid var(--hr-line); transition: border-color .15s, background-color .15s; }
.hrrms-board__col.is-locked { opacity: .82; border-style: dashed; }
.hrrms-board__col.is-over { border-color: var(--hr-blue); background: var(--hr-tint-soft); }
.hrrms-ui .hrrms-board__col h3 { display: flex; align-items: center; justify-content: space-between; margin: 2px 4px 10px; font-size: 13px; font-weight: 700; color: var(--hr-ink); }
.hrrms-board__col h3 span { min-width: 24px; height: 22px; padding: 0 7px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--hr-card); border: 1px solid var(--hr-line); font-size: 12px; }
.hrrms-board__list { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.hrrms-ui .hrrms-board__card { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px; text-align: left; font: inherit; color: var(--hr-ink); background: var(--hr-card); border: 1px solid var(--hr-line); border-radius: 12px; cursor: pointer; box-shadow: 0 6px 12px -10px rgba(16, 27, 60, .5); transition: transform .14s, box-shadow .14s; }
.hrrms-board__col:not(.is-locked) .hrrms-board__card { cursor: grab; }
.hrrms-ui .hrrms-board__card:hover { transform: translateY(-2px); box-shadow: 0 14px 22px -14px rgba(16, 27, 60, .6); }
.hrrms-ui .hrrms-board__card.is-drag { opacity: .5; }
.hrrms-board__card .hrrms-ava { width: 34px; height: 34px; border-radius: 10px; font-size: 12px; }
.hrrms-board__txt { min-width: 0; display: flex; flex-direction: column; }
.hrrms-board__txt strong { font-size: 13.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hrrms-board__txt small { font-size: 12px; color: var(--hr-ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-view-toggle] { flex: 0 0 auto; }

.hrrms-screening { margin-top: 14px; padding: 16px; border: 1px solid var(--hr-line); border-radius: 12px; background: var(--hr-soft); }
.hrrms-screening strong { display: inline-flex; align-items: center; gap: 8px; }
.hrrms-screening .hrrms-i { width: 16px; height: 16px; }
.hrrms-screening p { margin: 4px 0 10px; }
.hrrms-ui .hrrms-screening textarea { display: block; width: 100%; padding: 10px 12px; margin-bottom: 10px; font: inherit; color: var(--hr-ink); background: var(--hr-card); border: 1px solid var(--hr-line-2); border-radius: 10px; }

.hrrms-2fa__key, .hrrms-2fa__codes { display: block; margin: 0; padding: 12px 14px; font-family: ui-monospace, Consolas, monospace; font-size: 15px; letter-spacing: .04em; color: var(--hr-ink); background: var(--hr-soft); border: 1px solid var(--hr-line); border-radius: 10px; overflow-wrap: anywhere; white-space: pre-wrap; }
.hrrms-otp-field { margin-bottom: 16px; }
.hrrms-otp-field label { display: block; margin-bottom: 3px; }
#loginform .hrrms-otp-field input { width: 100%; }
@media print { .hrrms-board { display: block; } }

.hrrms-pipeline[hidden] { display: none !important; }

/* ---------------------------------------------------------------- compact banner, tidy sign-in */
.hrrms-pagehero { min-height: 92px; margin-bottom: 16px; padding: 14px 16px 14px 24px; border-radius: 16px; }
.hrrms-ui .hrrms-pagehero__title { font-size: 21px; }
.hrrms-pagehero__eyebrow { margin-bottom: 2px; font-size: 11px; }
.hrrms-pagehero__lead { margin-top: 3px; font-size: 13.5px; }
.hrrms-otp-more { margin: 0 0 14px; font-size: 13px; }
.hrrms-otp-more summary { cursor: pointer; color: var(--hr-blue, #2457D6); font-weight: 600; }
.hrrms-otp-more > div { margin-top: 10px; }
.hrrms-ui .hrrms-otp-more input { width: 100%; min-height: 44px; padding: 0 12px; font: inherit; color: var(--hr-ink); background: var(--hr-card); border: 1px solid var(--hr-line-2); border-radius: 10px; }

/* ---------------------------------------------------------------- hiring screens: flow, daily cards, filters, candidate page */
.hrrms-flow { display: flex; gap: 8px; margin: 0 0 16px; padding: 6px; overflow-x: auto; border: 1px solid var(--hr-line); border-radius: 14px; background: var(--hr-card); scrollbar-width: none; }
.hrrms-flow::-webkit-scrollbar { display: none; }
.hrrms-ui.hrrms-flow .hrrms-flow__step { flex: 1 0 auto; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 14px; border-radius: 10px; font-size: 13.5px; font-weight: 600; white-space: nowrap; color: var(--hr-ink-2) !important; text-decoration: none; transition: background-color .15s; }
.hrrms-flow__step span { width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 12px; background: var(--hr-neutral-bg); color: var(--hr-neutral-ink); }
.hrrms-ui.hrrms-flow .hrrms-flow__step:hover { background: var(--hr-soft); }
.hrrms-ui.hrrms-flow .hrrms-flow__step.is-on { color: #fff !important; background: linear-gradient(135deg, #4F7DFF, #2750D8); box-shadow: 0 8px 16px -10px rgba(36, 87, 214, .9); }
.hrrms-flow__step.is-on span { background: rgba(255, 255, 255, .22); color: #fff; }

.hrrms-pldaily { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.hrrms-ui.hrrms-legacy .hrrms-pldaily__card { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border: 1px solid var(--hr-line); border-radius: 14px; background: var(--hr-card); color: var(--hr-ink) !important; text-decoration: none; box-shadow: 0 14px 24px -22px rgba(16, 27, 60, .7); transition: transform .15s, border-color .15s, box-shadow .15s; }
.hrrms-pldaily__card .hrrms-i { position: absolute; top: 14px; right: 14px; width: 20px; height: 20px; color: var(--hr-blue); opacity: .8; }
.hrrms-pldaily__card strong { font-size: 26px; font-weight: 800; line-height: 1.15; }
.hrrms-pldaily__card > span { font-size: 13px; color: var(--hr-ink-2); }
.hrrms-ui.hrrms-legacy .hrrms-pldaily__card:hover { transform: translateY(-2px); border-color: var(--hr-blue-2); box-shadow: 0 18px 28px -22px rgba(36, 87, 214, .8); }
.hrrms-ui.hrrms-legacy .hrrms-pldaily__card.is-on { border-color: var(--hr-blue); background: var(--hr-tint-soft); box-shadow: 0 0 0 2px var(--hr-tint-line); }

.hrrms-plmore { border: 1px solid var(--hr-line); border-radius: 12px; background: var(--hr-card); padding: 0 14px; }
.hrrms-plmore > summary { padding: 11px 0; font-weight: 600; font-size: 13.5px; cursor: pointer; color: var(--hr-blue); }
.hrrms-plmore[open] { padding-bottom: 14px; }
.hrrms-ui.hrrms-legacy .hrrms-plmore__h { margin: 12px 0 8px; font-size: 13px; color: var(--hr-ink-2); }
.hrrms-plkpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; margin-bottom: 8px; }
.hrrms-ui.hrrms-legacy .hrrms-plkpi { display: block; padding: 8px 12px; border: 1px solid var(--hr-line); border-radius: 10px; background: var(--hr-soft); color: var(--hr-ink) !important; text-decoration: none; }
.hrrms-plkpi strong { display: block; font-size: 19px; }
.hrrms-plkpi span { font-size: 12px; color: var(--hr-ink-2); }
.hrrms-ui.hrrms-legacy .hrrms-plkpi.is-on, .hrrms-ui.hrrms-legacy .hrrms-plkpi:hover { border-color: var(--hr-blue); background: var(--hr-tint-soft); }

.hrrms-ui.hrrms-legacy .hrrms-pltabs { margin: 0; }
.hrrms-plfilter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 14px; border: 1px solid var(--hr-line); border-radius: 12px; background: var(--hr-card); }
.hrrms-plfilter input[type="search"] { flex: 1 1 260px; min-width: 0; max-width: 100%; }
.hrrms-ui.hrrms-legacy .hrrms-plnote { margin: 0; font-size: 12px; color: var(--hr-ink-3); }

.hrrms-wsnow { display: flex; flex-direction: column; gap: 2px; padding: 14px 18px; border-radius: 14px; color: #fff; background: linear-gradient(120deg, #17296F, #2750D8 70%, #6D45E0); box-shadow: 0 16px 28px -22px rgba(23, 41, 111, .9); }
.hrrms-wsnow span { font-size: 12px; font-weight: 600; opacity: .85; }
.hrrms-wsnow strong { font-size: 17px; font-weight: 700; }
.hrrms-jump { position: sticky; top: calc(var(--hr-top-h, 72px) + var(--hr-bar, 0px) + 6px); z-index: 5; display: flex; gap: 6px; padding: 6px; overflow-x: auto; border: 1px solid var(--hr-line); border-radius: 12px; background: var(--hr-card); box-shadow: 0 10px 20px -18px rgba(16, 27, 60, .7); scrollbar-width: none; }
.hrrms-jump::-webkit-scrollbar { display: none; }
.hrrms-ui.hrrms-legacy .hrrms-jump a { flex: 0 0 auto; padding: 7px 12px; border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--hr-ink) !important; text-decoration: none; white-space: nowrap; }
.hrrms-ui.hrrms-legacy .hrrms-jump a:hover { background: var(--hr-tint-soft); }
.hrrms-legacy .hrrms-box { scroll-margin-top: calc(var(--hr-top-h, 72px) + 66px); }

.hrrms-fr-send { position: sticky; bottom: 10px; z-index: 5; margin-top: 12px; padding: 14px; border: 1px solid var(--hr-tint-line); border-radius: 14px; background: var(--hr-card); box-shadow: 0 16px 34px -18px rgba(16, 27, 60, .55); }

@media (max-width: 640px) {
	.hrrms-pldaily { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.hrrms-ui.hrrms-legacy .hrrms-pldaily__card { padding: 12px; }
	.hrrms-pldaily__card strong { font-size: 22px; }
	.hrrms-plfilter input[type="search"] { flex-basis: 100%; }
	.hrrms-jump { top: calc(var(--hr-top-h, 72px) + 2px); }
}
html[data-hrrms-theme="dark"] .hrrms-legacy table.widefat span[style*="background"] { color: #17233F; }
@media print { .hrrms-flow, .hrrms-jump, .hrrms-plfilter { display: none !important; } }
.hrrms-pldaily { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hrrms-ui.hrrms-legacy .hrrms-plfilter select { width: auto; max-width: 100%; }
.hrrms-ui.hrrms-legacy .hrrms-plfilter input[type="search"] { width: auto; }
@media (max-width: 640px) {
	.hrrms-pldaily { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hrrms-ui.hrrms-legacy .hrrms-plfilter select, .hrrms-ui.hrrms-legacy .hrrms-plfilter input[type="search"] { width: 100%; flex-basis: 100%; }
}

/* ---------------------------------------------------------------- my day, overdue card */
.hrrms-myday { margin: 0 0 20px; padding: 18px; border: 1px solid var(--hr-line); border-radius: 18px; background: var(--hr-card); box-shadow: 0 22px 42px -32px rgba(16, 27, 60, .55); animation: hrrms-head-in .5s cubic-bezier(.2, .8, .2, 1) both; }
.hrrms-myday__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.hrrms-ui .hrrms-myday h2 { margin: 0; font-size: 18px; font-weight: 800; }
.hrrms-myday__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.hrrms-ui .hrrms-myday__chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--hr-line); background: var(--hr-soft); color: var(--hr-ink) !important; font-size: 13px; text-decoration: none; }
.hrrms-myday__chip strong { font-size: 15px; }
.hrrms-ui .hrrms-myday__chip.is-hot { border-color: #F3C06B; background: var(--hr-warn-bg); color: var(--hr-warn-ink) !important; }
.hrrms-myday__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.hrrms-ui .hrrms-myday__iv { display: flex; flex-direction: column; gap: 1px; padding: 12px 14px; border: 1px solid var(--hr-line); border-left: 4px solid var(--hr-blue); border-radius: 12px; color: var(--hr-ink) !important; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.hrrms-ui a.hrrms-myday__iv:hover { transform: translateY(-2px); box-shadow: 0 14px 22px -18px rgba(16, 27, 60, .7); }
.hrrms-myday__list li.is-today .hrrms-myday__iv { border-left-color: #F0771C; background: var(--hr-warn-bg); }
.hrrms-myday__when { font-size: 12px; font-weight: 700; color: var(--hr-ink-2); }
.hrrms-myday__what { font-size: 12.5px; color: var(--hr-ink-2); }
.hrrms-myday__none { color: var(--hr-ink-2); font-size: 13.5px; }
.hrrms-pldaily { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.hrrms-ui.hrrms-legacy .hrrms-pldaily__card--late .hrrms-i { color: var(--hr-bad); }
.hrrms-ui.hrrms-legacy .hrrms-pldaily__card--late strong { color: var(--hr-bad-ink); }
@media (max-width: 640px) { .hrrms-pldaily { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hrrms-myday { padding: 14px; } }

/* ---------------------------------------------------------------- phase 2: board quick action, undo, saved views, search, shortcuts, compare, reminders */
.hrrms-board__card { position: relative; }
.hrrms-board__next { margin-left: auto; flex: 0 0 auto; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; color: var(--hr-blue); background: var(--hr-tint-soft); opacity: 0; transition: opacity .15s, background-color .15s; }
.hrrms-board__card:hover .hrrms-board__next, .hrrms-board__next:focus { opacity: 1; }
.hrrms-board__next:hover { background: var(--hr-blue); color: #fff; }
.hrrms-board__next .hrrms-i { width: 15px; height: 15px; }
@media (hover: none) { .hrrms-board__next { opacity: 1; } }
.hrrms-undo { position: fixed; left: 50%; bottom: 22px; z-index: 100012; transform: translateX(-50%); display: flex; align-items: center; gap: 14px; padding: 10px 12px 10px 16px; border-radius: 12px; background: var(--hr-navy, #101B3C); color: #fff; font-size: 14px; box-shadow: 0 18px 34px -14px rgba(0, 0, 0, .55); }
.hrrms-undo button { border: 0; border-radius: 8px; padding: 6px 12px; font: inherit; font-weight: 700; color: #fff; background: rgba(255, 255, 255, .16); cursor: pointer; }
.hrrms-savedviews { display: flex; gap: 6px; align-items: center; }
.hrrms-ui .hrrms-savedviews select { min-height: 38px; max-width: 180px; }
.hrrms-gs { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 60; max-height: 380px; overflow-y: auto; padding: 6px; border: 1px solid var(--hr-line); border-radius: 12px; background: var(--hr-card); box-shadow: 0 22px 40px -18px rgba(16, 27, 60, .5); }
.hrrms-search { position: relative; }
.hrrms-gs__h { margin: 6px 8px 4px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--hr-ink-3); }
.hrrms-ui .hrrms-gs__item { display: flex; flex-direction: column; padding: 8px 10px; border-radius: 8px; color: var(--hr-ink) !important; text-decoration: none; }
.hrrms-ui .hrrms-gs__item:hover, .hrrms-ui .hrrms-gs__item:focus { background: var(--hr-tint-soft); outline: none; }
.hrrms-gs__item strong { font-size: 13.5px; }
.hrrms-gs__item span { font-size: 12px; color: var(--hr-ink-2); }
.hrrms-gs__none { margin: 8px; font-size: 13px; color: var(--hr-ink-2); }
.hrrms-keys { position: fixed; right: 20px; bottom: 20px; z-index: 100013; width: min(320px, calc(100vw - 32px)); padding: 16px 18px; border-radius: 16px; background: var(--hr-card); border: 1px solid var(--hr-line); box-shadow: 0 24px 48px -18px rgba(16, 27, 60, .55); }
.hrrms-ui.hrrms-keys h2 { margin: 0 0 10px; font-size: 15px; }
.hrrms-keys p { display: flex; justify-content: space-between; gap: 12px; margin: 6px 0; font-size: 13px; }
.hrrms-keys kbd { padding: 1px 7px; border: 1px solid var(--hr-line-2); border-bottom-width: 2px; border-radius: 6px; font: 600 12px ui-monospace, Consolas, monospace; background: var(--hr-soft); }
.hrrms-cmp { width: 17px; height: 17px; margin-right: 8px; vertical-align: middle; accent-color: var(--hr-blue); }
.hrrms-cmpbar { position: fixed; left: 50%; bottom: 22px; z-index: 100011; transform: translateX(-50%); display: flex; align-items: center; gap: 14px; padding: 8px 8px 8px 16px; border-radius: 14px; background: var(--hr-card); border: 1px solid var(--hr-tint-line); box-shadow: 0 18px 34px -14px rgba(16, 27, 60, .5); font-weight: 600; }
.hrrms-cmpmodal { position: fixed; inset: 0; z-index: 100014; display: flex; align-items: flex-start; justify-content: center; padding: 6vh 16px 16px; background: rgba(8, 15, 40, .55); overflow-y: auto; }
.hrrms-cmpmodal__box { position: relative; width: min(980px, 100%); padding: 20px; border-radius: 18px; background: var(--hr-card); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .5); }
.hrrms-ui .hrrms-cmpmodal__box h2 { margin: 0 0 14px; font-size: 18px; }
.hrrms-cmpmodal__box > .hrrms-btn { position: absolute; top: 16px; right: 16px; }
.hrrms-ui .hrrms-cmptable tbody th { width: 150px; color: var(--hr-ink-2); font-weight: 600; }
.hrrms-candhero__rem { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.hrrms-remform { display: flex; flex-wrap: wrap; gap: 6px; }
.hrrms-remform[hidden] { display: none; }
.hrrms-ui .hrrms-remform input { min-height: 34px; padding: 0 10px; font: inherit; font-size: 13px; color: var(--hr-ink); background: var(--hr-card); border: 1px solid var(--hr-line-2); border-radius: 8px; }
.hrrms-ui .hrrms-myday__sub { margin: 14px 0 8px; font-size: 14px; }
.hrrms-myday__rems { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.hrrms-myday__rems li { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; padding: 8px 12px; border-radius: 10px; background: var(--hr-soft); font-size: 13.5px; }
.hrrms-myday__rems li.is-late { background: var(--hr-warn-bg); }
@media (max-width: 640px) { .hrrms-savedviews { width: 100%; } .hrrms-ui .hrrms-savedviews select { flex: 1; max-width: none; } .hrrms-cmptable { font-size: 12.5px; } }
@media print { .hrrms-undo, .hrrms-cmpbar, .hrrms-keys, .hrrms-gs { display: none !important; } }

/* ---------------------------------------------------------------- phase 3: hiring cost */
.hrrms-costrow { display: grid; grid-template-columns: 1fr 90px 2fr; gap: 8px; margin-bottom: 10px; }
.hrrms-ui .hrrms-costrow input { min-height: 38px; padding: 0 10px; font: inherit; color: var(--hr-ink); background: var(--hr-card); border: 1px solid var(--hr-line-2); border-radius: 10px; min-width: 0; }
.hrrms-costcard { margin-top: 20px; }
.hrrms-costtotal { margin: 12px 0 0; font-weight: 700; color: var(--hr-ink); }
@media (max-width: 640px) { .hrrms-costrow { grid-template-columns: 1fr 80px; } .hrrms-costrow input:last-child { grid-column: 1 / -1; } }
/* ---------------------------------------------------------------- motion: page entry, charts, reveal, steps, tick, bell, board, confetti */
@view-transition { navigation: auto; }
.hrrms-portal .hrrms-content { animation: hrrms-page-in .35s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes hrrms-page-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.hrrms-portal .hrrms-hbar__fill { transform-origin: left center; animation: hrrms-grow .8s cubic-bezier(.2, .8, .2, 1) both; }
.hrrms-portal .hrrms-hbar:nth-child(2) .hrrms-hbar__fill { animation-delay: .05s; }
.hrrms-portal .hrrms-hbar:nth-child(3) .hrrms-hbar__fill { animation-delay: .1s; }
.hrrms-portal .hrrms-hbar:nth-child(4) .hrrms-hbar__fill { animation-delay: .15s; }
.hrrms-portal .hrrms-hbar:nth-child(n+5) .hrrms-hbar__fill { animation-delay: .2s; }
.hrrms-portal .hrrms-card svg[role="img"] rect:not(.hrrms-hit) { transform-box: fill-box; transform-origin: center bottom; animation: hrrms-rise .8s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes hrrms-rise { from { transform: scaleY(0); } to { transform: scaleY(1); } }

.hrrms-rv { opacity: 0; transform: translateY(18px); }
.hrrms-rv.is-in { opacity: 1; transform: none; transition: opacity .5s ease, transform .5s cubic-bezier(.2, .8, .2, 1); }

.hrrms-wsteps { list-style: none; display: flex; margin: 0; padding: 14px 6px 6px; overflow-x: auto; scrollbar-width: thin; }
.hrrms-wsteps li { position: relative; flex: 1 0 96px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; animation: hrrms-head-in .45s cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(var(--i, 0) * 40ms); }
.hrrms-wsteps li::before { content: ""; position: absolute; top: 14px; left: calc(-50% + 16px); right: calc(50% + 16px); height: 3px; border-radius: 3px; background: var(--hr-line-2); }
.hrrms-wsteps li:first-child::before { display: none; }
.hrrms-wsteps li.is-done::before, .hrrms-wsteps li.is-now::before, .hrrms-wsteps li.is-late::before, .hrrms-wsteps li.is-hold::before { background: linear-gradient(90deg, #12A979, #4F7DFF); }
.hrrms-wsteps__dot { position: relative; z-index: 1; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 12.5px; font-weight: 700; color: var(--hr-ink-2); background: var(--hr-card); border: 2px solid var(--hr-line-2); }
.hrrms-wsteps li.is-done .hrrms-wsteps__dot { color: #fff; background: #12A979; border-color: #12A979; }
.hrrms-wsteps li.is-now .hrrms-wsteps__dot { color: #fff; background: #2457D6; border-color: #2457D6; animation: hrrms-pulse 2s ease-in-out infinite; }
.hrrms-wsteps li.is-late .hrrms-wsteps__dot { color: #fff; background: #D64545; border-color: #D64545; animation: hrrms-pulse-bad 2s ease-in-out infinite; }
.hrrms-wsteps li.is-hold .hrrms-wsteps__dot { color: #fff; background: #7555D9; border-color: #7555D9; }
.hrrms-wsteps__l { max-width: 120px; font-size: 11.5px; line-height: 1.3; color: var(--hr-ink-2); }
.hrrms-wsteps li:is(.is-now, .is-late) .hrrms-wsteps__l { font-weight: 700; color: var(--hr-ink); }
@keyframes hrrms-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(36, 87, 214, .45); } 50% { box-shadow: 0 0 0 8px rgba(36, 87, 214, 0); } }
@keyframes hrrms-pulse-bad { 0%, 100% { box-shadow: 0 0 0 0 rgba(214, 69, 69, .45); } 50% { box-shadow: 0 0 0 8px rgba(214, 69, 69, 0); } }

.hrrms-portal .hrrms-tick { position: relative; }
.hrrms-portal .hrrms-tick::after { content: "\2713"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; border-radius: inherit; font-size: 18px; font-weight: 800; color: #fff; background: #12A979; animation: hrrms-done 1.4s ease both; }
@keyframes hrrms-done { 0% { opacity: 0; transform: scale(.6); } 15% { opacity: 1; transform: scale(1.04); } 25%, 80% { opacity: 1; transform: none; } 100% { opacity: 0; } }

.hrrms-bell__dot { animation: hrrms-dot-in .4s cubic-bezier(.2, .8, .2, 1.4) both; }
@keyframes hrrms-dot-in { from { transform: scale(0); } to { transform: scale(1); } }
.hrrms-ring .hrrms-i { transform-origin: 50% 10%; animation: hrrms-ring .9s ease both; }
@keyframes hrrms-ring { 0%, 100% { transform: rotate(0); } 15% { transform: rotate(16deg); } 30% { transform: rotate(-14deg); } 45% { transform: rotate(10deg); } 60% { transform: rotate(-6deg); } 75% { transform: rotate(3deg); } }

.hrrms-ui .hrrms-board__card.is-drag { opacity: .75; transform: rotate(-3deg) scale(1.03); box-shadow: 0 22px 34px -16px rgba(16, 27, 60, .6); }
.hrrms-board__col.is-over .hrrms-board__list { animation: hrrms-col-glow 1s ease-in-out infinite alternate; }
@keyframes hrrms-col-glow { from { box-shadow: inset 0 0 0 0 transparent; } to { box-shadow: inset 0 0 0 2px var(--hr-tint-line); } }
.hrrms-board__card { animation: hrrms-pop-in .35s cubic-bezier(.2, .8, .2, 1.3) both; }
@keyframes hrrms-pop-in { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }

.hrrms-confetti { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 100020; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
	@view-transition { navigation: none; }
	.hrrms-portal .hrrms-content, .hrrms-portal .hrrms-hbar__fill, .hrrms-portal .hrrms-card svg[role="img"] rect, .hrrms-wsteps li, .hrrms-wsteps__dot, .hrrms-bell__dot, .hrrms-board__card, .hrrms-board__col.is-over .hrrms-board__list { animation: none !important; }
	.hrrms-rv { opacity: 1; transform: none; }
}
@media print { .hrrms-confetti { display: none; } .hrrms-rv { opacity: 1 !important; transform: none !important; } }

/* ---------------------------------------------------------------- vacancy settings, board hint */
.hrrms-vset { margin: 0 0 12px; border: 1px solid var(--hr-line); border-radius: 14px; background: var(--hr-card); }
.hrrms-vset > summary { display: flex; align-items: center; gap: 12px; padding: 12px 16px; cursor: pointer; list-style: none; }
.hrrms-vset > summary::-webkit-details-marker { display: none; }
.hrrms-vset > summary::after { content: "+"; margin-left: auto; font-size: 20px; font-weight: 600; color: var(--hr-ink-2); }
.hrrms-vset[open] > summary::after { content: "\2212"; }
.hrrms-vset > summary .hrrms-i { width: 20px; height: 20px; color: var(--hr-blue); flex: 0 0 auto; }
.hrrms-vset > summary span { display: flex; flex-direction: column; }
.hrrms-vset > summary small { font-size: 12.5px; color: var(--hr-ink-2); }
.hrrms-vset__body { padding: 0 16px 14px; }
.hrrms-vset__body .hrrms-screening:first-of-type { margin-top: 0; }
.hrrms-board__hint { display: flex; gap: 6px; align-items: flex-start; margin: -4px 4px 10px; font-size: 12px; line-height: 1.4; color: var(--hr-ink-2); }
.hrrms-board__hint .hrrms-i { width: 13px; height: 13px; flex: 0 0 auto; margin-top: 2px; }
.hrrms-board__hint a { color: var(--hr-blue) !important; font-weight: 600; }
.hrrms-plfilter .hrrms-savedviews { margin-left: auto; }
.hrrms-savedviews [hidden] { display: none !important; }

/* ---------------------------------------------------------------- final approver rating, orientation */
.hrrms-fr-rate { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 2px; margin: 6px 0 4px; padding: 0; border: 0; }
.hrrms-fr-rate legend { float: left; margin-right: 10px; font-weight: 600; font-size: 14px; }
.hrrms-fr-rate input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.hrrms-fr-rate label { font-size: 26px; line-height: 1; cursor: pointer; color: var(--hr-line-2); transition: color .12s, transform .12s; }
.hrrms-fr-rate label:hover, .hrrms-fr-rate label:hover ~ label, .hrrms-fr-rate input:checked ~ label { color: #F5A623; }
.hrrms-fr-rate label:hover { transform: scale(1.15); }
.hrrms-fr-rate input:focus-visible + label { outline: 2px solid var(--hr-blue); outline-offset: 2px; border-radius: 4px; }
.hrrms-orient { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.hrrms-orient select, .hrrms-orient input[type="date"] { min-height: 38px; }

/* ---------------------------------------------------------------- final approver box */
.hrrms-fr-rate { display: flex; width: max-content; }
.hrrms-fr-rate legend.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hrrms-fr-hrnote { margin: 8px 0 12px; padding: 10px 14px; border-left: 3px solid var(--hr-blue); border-radius: 10px; background: var(--hr-card); }
.hrrms-fr-hrnote > summary { font-weight: 700; cursor: pointer; }
.hrrms-fr-sched { margin-top: 10px; }
.hrrms-fr-sched > summary { display: inline-block; padding: 8px 14px; border: 1px solid var(--hr-blue); border-radius: 10px; color: var(--hr-blue); font-weight: 600; cursor: pointer; list-style: none; }
.hrrms-fr-sched > summary::-webkit-details-marker { display: none; }

/* ---------------------------------------------------------------- simpler pipeline */
.hrrms-pltable { overflow-x: auto; }
.hrrms-pltable td { vertical-align: top; }
.hrrms-pltable .hrrms-plname { font-weight: 700; }
.hrrms-pltable tr.is-late td:first-child { box-shadow: inset 3px 0 0 #D64545; }
.hrrms-plstage { display: inline-block; padding: 2px 10px; border-radius: 999px; background: rgba(46,108,246,.1); color: var(--hr-blue); font-weight: 600; font-size: 12.5px; }
.hrrms-plprog { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12.5px; color: var(--hr-ink-2); }
.hrrms-plprog b { color: var(--hr-ink); }
.hrrms-plprog .is-zero { opacity: .45; }
.hrrms-jc__bar { height: 8px; border-radius: 99px; background: var(--hr-line); overflow: hidden; }
.hrrms-jc__bar span { display: block; height: 100%; background: linear-gradient(90deg, #22A06B, #2E6CF6); border-radius: inherit; transition: width .6s; }
.hrrms-jc__count { margin: 6px 0 10px; font-weight: 600; }
.hrrms-jc { list-style: none; margin: 0 0 8px; padding: 0; }
.hrrms-jc li { display: flex; align-items: flex-start; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--hr-line); }
.hrrms-jc li:last-child { border-bottom: 0; }
.hrrms-jc__mark { flex: 0 0 20px; height: 20px; border-radius: 50%; border: 2px solid var(--hr-line-2); display: grid; place-items: center; font-size: 11px; color: #fff; }
.hrrms-jc li.is-done .hrrms-jc__mark { background: #22A06B; border-color: #22A06B; }
.hrrms-jc li.is-done .hrrms-jc__txt { color: var(--hr-ink-2); }
.hrrms-jc__txt { flex: 1; }
.hrrms-jc__who { flex: 0 0 auto; padding: 1px 8px; border-radius: 99px; background: rgba(245,166,35,.15); color: #A86200; font-size: 12px; font-weight: 600; }
