﻿/*
	HFNY Themes
	This stylesheet must load after Bootstrap and the existing HFNY CSS.

	----------------------------------------------------------------------
	Palette tokens
	----------------------------------------------------------------------
	Each theme defines the same set of variables; every rule below is
	written once against those variables and scoped to all dark-ish themes.
	To add another theme, add a variable block and append its selector to
	the shared rule lists.

	  --hfny-bg            page background
	  --hfny-surface       panels, tables, dropdowns
	  --hfny-surface-alt   panel headings, striped rows, popover titles
	  --hfny-raised        buttons, input-group addons, hover fills
	  --hfny-raised-hover  button hover fill
	  --hfny-field         form control background
	  --hfny-border        standard border
	  --hfny-border-soft   subtler border (navbar, tabs)
	  --hfny-border-strong control borders, popover edges
	  --hfny-text          body text
	  --hfny-text-strong   headings, emphasised text
	  --hfny-text-muted    secondary text
	  --hfny-text-field    text inside form controls
	  --hfny-disabled-bg   disabled surfaces
	  --hfny-disabled-fg   disabled text
	  --hfny-disabled-bd   disabled borders

	Accent colours (links, primary blue, status greens/ambers/reds and the
	yellow row highlight) are intentionally shared across themes and are
	written as literals.
	----------------------------------------------------------------------
*/

html[data-hfny-theme="dark"] {
	color-scheme: dark;
	--hfny-bg: #1e1e1e;
	--hfny-surface: #252526;
	--hfny-surface-alt: #2d2d30;
	--hfny-raised: #3e3e42;
	--hfny-raised-hover: #505054;
	--hfny-field: #333337;
	--hfny-border: #464647;
	--hfny-border-soft: #3f3f46;
	--hfny-border-strong: #555555;
	--hfny-text: #d4d4d4;
	--hfny-text-strong: #ffffff;
	--hfny-text-muted: #a6a6a6;
	--hfny-text-field: #f1f1f1;
	--hfny-disabled-bg: #1a1a1a;
	--hfny-disabled-fg: #6f6f6f;
	--hfny-disabled-bd: #333333;
}

html[data-hfny-theme="blue"] {
	color-scheme: dark;
	--hfny-bg: #1b2838;
	--hfny-surface: #22303f;
	--hfny-surface-alt: #2a3a4d;
	--hfny-raised: #35485e;
	--hfny-raised-hover: #435a73;
	--hfny-field: #2e3f52;
	--hfny-border: #3d5166;
	--hfny-border-soft: #35485e;
	--hfny-border-strong: #4a6280;
	--hfny-text: #d4dde6;
	--hfny-text-strong: #ffffff;
	--hfny-text-muted: #93a4b5;
	--hfny-text-field: #eaf1f8;
	--hfny-disabled-bg: #16202c;
	--hfny-disabled-fg: #63788d;
	--hfny-disabled-bd: #2b3a4a;
}

	/* Page */

	html[data-hfny-theme="dark"] body,
	html[data-hfny-theme="blue"] body {
		background-color: var(--hfny-bg);
		color: var(--hfny-text);
	}

	html[data-hfny-theme="dark"] a,
	html[data-hfny-theme="blue"] a {
		color: #4fc1ff;
	}

		html[data-hfny-theme="dark"] a:hover,
		html[data-hfny-theme="dark"] a:focus,
		html[data-hfny-theme="blue"] a:hover,
		html[data-hfny-theme="blue"] a:focus {
			color: #9cdcfe;
		}

	html[data-hfny-theme="dark"] hr,
	html[data-hfny-theme="blue"] hr {
		border-top-color: var(--hfny-border);
	}

	html[data-hfny-theme="dark"] .text-muted,
	html[data-hfny-theme="blue"] .text-muted {
		color: var(--hfny-text-muted);
	}

	html[data-hfny-theme="dark"] .form-title,
	html[data-hfny-theme="blue"] .form-title {
		color: #ffffff;
	}

	/* Main navbar */

	html[data-hfny-theme="dark"] .navbar-default,
	html[data-hfny-theme="blue"] .navbar-default {
		background-color: var(--hfny-surface);
		border-color: var(--hfny-border-soft);
	}

		html[data-hfny-theme="dark"] .navbar-default .navbar-nav > li > a,
		html[data-hfny-theme="dark"] .navbar-default .navbar-brand,
		html[data-hfny-theme="blue"] .navbar-default .navbar-nav > li > a,
		html[data-hfny-theme="blue"] .navbar-default .navbar-brand {
			color: var(--hfny-text);
		}

			html[data-hfny-theme="dark"] .navbar-default .navbar-nav > li > a:hover,
			html[data-hfny-theme="dark"] .navbar-default .navbar-nav > li > a:focus,
			html[data-hfny-theme="dark"] .navbar-default .navbar-nav > .open > a,
			html[data-hfny-theme="dark"] .navbar-default .navbar-nav > .open > a:hover,
			html[data-hfny-theme="dark"] .navbar-default .navbar-nav > .open > a:focus,
			html[data-hfny-theme="blue"] .navbar-default .navbar-nav > li > a:hover,
			html[data-hfny-theme="blue"] .navbar-default .navbar-nav > li > a:focus,
			html[data-hfny-theme="blue"] .navbar-default .navbar-nav > .open > a,
			html[data-hfny-theme="blue"] .navbar-default .navbar-nav > .open > a:hover,
			html[data-hfny-theme="blue"] .navbar-default .navbar-nav > .open > a:focus {
				background-color: var(--hfny-raised);
				color: #ffffff;
			}

		html[data-hfny-theme="dark"] .navbar-default .navbar-toggle,
		html[data-hfny-theme="blue"] .navbar-default .navbar-toggle {
			border-color: var(--hfny-border-strong);
		}

		html[data-hfny-theme="dark"] .navbar-default .navbar-nav > .active > a,
		html[data-hfny-theme="dark"] .navbar-default .navbar-nav > .active > a:hover,
		html[data-hfny-theme="dark"] .navbar-default .navbar-nav > .active > a:focus,
		html[data-hfny-theme="blue"] .navbar-default .navbar-nav > .active > a,
		html[data-hfny-theme="blue"] .navbar-default .navbar-nav > .active > a:hover,
		html[data-hfny-theme="blue"] .navbar-default .navbar-nav > .active > a:focus {
			background-color: var(--hfny-raised) !important;
			color: #ffffff !important;
		}

			html[data-hfny-theme="dark"] .navbar-default .navbar-nav > .active > a .glyphicon,
			html[data-hfny-theme="dark"] .navbar-default .navbar-nav > .active > a span,
			html[data-hfny-theme="blue"] .navbar-default .navbar-nav > .active > a .glyphicon,
			html[data-hfny-theme="blue"] .navbar-default .navbar-nav > .active > a span {
				color: #ffffff !important;
			}

		html[data-hfny-theme="dark"] .navbar-default .navbar-toggle:hover,
		html[data-hfny-theme="dark"] .navbar-default .navbar-toggle:focus,
		html[data-hfny-theme="blue"] .navbar-default .navbar-toggle:hover,
		html[data-hfny-theme="blue"] .navbar-default .navbar-toggle:focus {
			background-color: var(--hfny-raised);
		}

		html[data-hfny-theme="dark"] .navbar-default .navbar-toggle .icon-bar,
		html[data-hfny-theme="blue"] .navbar-default .navbar-toggle .icon-bar {
			background-color: var(--hfny-text);
		}

	/* Search Cases split button */

	html[data-hfny-theme="dark"] .custom-btn-link,
	html[data-hfny-theme="blue"] .custom-btn-link {
		background-color: var(--hfny-surface-alt);
		border-color: var(--hfny-border-strong);
		color: var(--hfny-text);
	}

		html[data-hfny-theme="dark"] .custom-btn-link:hover,
		html[data-hfny-theme="dark"] .custom-btn-link:focus,
		html[data-hfny-theme="blue"] .custom-btn-link:hover,
		html[data-hfny-theme="blue"] .custom-btn-link:focus {
			background-color: var(--hfny-raised);
			border-color: #777777;
			color: #ffffff;
		}

	/* Dropdown menus */

	html[data-hfny-theme="dark"] .dropdown-menu,
	html[data-hfny-theme="blue"] .dropdown-menu {
		background-color: var(--hfny-surface);
		border-color: var(--hfny-border);
		box-shadow: 0 6px 12px rgba(0, 0, 0, .5);
	}

		html[data-hfny-theme="dark"] .dropdown-menu > li > a,
		html[data-hfny-theme="blue"] .dropdown-menu > li > a {
			color: var(--hfny-text);
		}

			html[data-hfny-theme="dark"] .dropdown-menu > li > a:hover,
			html[data-hfny-theme="dark"] .dropdown-menu > li > a:focus,
			html[data-hfny-theme="blue"] .dropdown-menu > li > a:hover,
			html[data-hfny-theme="blue"] .dropdown-menu > li > a:focus {
				background-color: var(--hfny-raised);
				color: #ffffff;
			}

		html[data-hfny-theme="dark"] .dropdown-menu > .active > a,
		html[data-hfny-theme="dark"] .dropdown-menu > .active > a:hover,
		html[data-hfny-theme="dark"] .dropdown-menu > .active > a:focus,
		html[data-hfny-theme="blue"] .dropdown-menu > .active > a,
		html[data-hfny-theme="blue"] .dropdown-menu > .active > a:hover,
		html[data-hfny-theme="blue"] .dropdown-menu > .active > a:focus {
			background-color: #007acc;
			color: #ffffff;
		}

		html[data-hfny-theme="dark"] .dropdown-menu .divider,
		html[data-hfny-theme="blue"] .dropdown-menu .divider {
			background-color: var(--hfny-border);
		}

	/* Forms */

	html[data-hfny-theme="dark"] label,
	html[data-hfny-theme="blue"] label {
		color: var(--hfny-text);
	}

	html[data-hfny-theme="dark"] .form-control,
	html[data-hfny-theme="blue"] .form-control {
		background-color: var(--hfny-field);
		border-color: var(--hfny-border-strong);
		color: var(--hfny-text-field);
	}

		html[data-hfny-theme="dark"] .form-control:focus,
		html[data-hfny-theme="blue"] .form-control:focus {
			border-color: #007acc;
			box-shadow: 0 0 6px rgba(0, 122, 204, .6);
		}

		html[data-hfny-theme="dark"] .form-control[disabled],
		html[data-hfny-theme="dark"] .form-control[readonly],
		html[data-hfny-theme="dark"] fieldset[disabled] .form-control,
		html[data-hfny-theme="dark"] textarea[disabled],
		html[data-hfny-theme="dark"] input[type="text"][disabled],
		html[data-hfny-theme="dark"] select[disabled],
		html[data-hfny-theme="blue"] .form-control[disabled],
		html[data-hfny-theme="blue"] .form-control[readonly],
		html[data-hfny-theme="blue"] fieldset[disabled] .form-control,
		html[data-hfny-theme="blue"] textarea[disabled],
		html[data-hfny-theme="blue"] input[type="text"][disabled],
		html[data-hfny-theme="blue"] select[disabled] {
			background-color: var(--hfny-disabled-bg);
			border-color: var(--hfny-disabled-bd);
			color: var(--hfny-disabled-fg);
			cursor: not-allowed;
			opacity: 1;
		}

			html[data-hfny-theme="dark"] .form-control[disabled]::placeholder,
			html[data-hfny-theme="dark"] textarea[disabled]::placeholder,
			html[data-hfny-theme="blue"] .form-control[disabled]::placeholder,
			html[data-hfny-theme="blue"] textarea[disabled]::placeholder {
				color: #5a5a5a;
			}

		html[data-hfny-theme="dark"] .form-control::placeholder,
		html[data-hfny-theme="blue"] .form-control::placeholder {
			color: #999999;
		}

	html[data-hfny-theme="dark"] select option,
	html[data-hfny-theme="blue"] select option {
		background-color: var(--hfny-field);
		color: var(--hfny-text-field);
	}

	html[data-hfny-theme="dark"] .input-group-addon,
	html[data-hfny-theme="blue"] .input-group-addon {
		background-color: var(--hfny-raised);
		border-color: var(--hfny-border-strong);
		color: var(--hfny-text);
	}

	html[data-hfny-theme="dark"] .help-block,
	html[data-hfny-theme="blue"] .help-block {
		color: #b7b7b7;
	}

	/* Buttons */

	html[data-hfny-theme="dark"] .btn-default,
	html[data-hfny-theme="blue"] .btn-default {
		background-color: var(--hfny-raised);
		border-color: #666666;
		color: #ffffff;
	}

		html[data-hfny-theme="dark"] .btn-default:hover,
		html[data-hfny-theme="dark"] .btn-default:focus,
		html[data-hfny-theme="dark"] .btn-default:active,
		html[data-hfny-theme="blue"] .btn-default:hover,
		html[data-hfny-theme="blue"] .btn-default:focus,
		html[data-hfny-theme="blue"] .btn-default:active {
			background-color: var(--hfny-raised-hover);
			border-color: #777777;
			color: #ffffff;
		}

	html[data-hfny-theme="dark"] .btn-primary,
	html[data-hfny-theme="blue"] .btn-primary {
		background-color: #007acc;
		border-color: #007acc;
		color: #ffffff;
	}

		html[data-hfny-theme="dark"] .btn-primary:hover,
		html[data-hfny-theme="dark"] .btn-primary:focus,
		html[data-hfny-theme="dark"] .btn-primary:active,
		html[data-hfny-theme="blue"] .btn-primary:hover,
		html[data-hfny-theme="blue"] .btn-primary:focus,
		html[data-hfny-theme="blue"] .btn-primary:active {
			background-color: #1c97ea;
			border-color: #1c97ea;
			color: #ffffff;
		}

	/* Panels, wells and list groups */

	html[data-hfny-theme="dark"] .panel,
	html[data-hfny-theme="dark"] .well,
	html[data-hfny-theme="dark"] .list-group-item,
	html[data-hfny-theme="blue"] .panel,
	html[data-hfny-theme="blue"] .well,
	html[data-hfny-theme="blue"] .list-group-item {
		background-color: var(--hfny-surface);
		border-color: var(--hfny-border);
		color: var(--hfny-text);
	}

	html[data-hfny-theme="dark"] .panel-body,
	html[data-hfny-theme="blue"] .panel-body {
		background-color: var(--hfny-surface);
		color: var(--hfny-text);
	}

	html[data-hfny-theme="dark"] .duplicate-grid-container,
	html[data-hfny-theme="dark"] .selected-grid-container,
	html[data-hfny-theme="dark"] .duplicate-inner-panel,
	html[data-hfny-theme="dark"] .duplicate-inner-panel > .panel-body,
	html[data-hfny-theme="blue"] .duplicate-grid-container,
	html[data-hfny-theme="blue"] .selected-grid-container,
	html[data-hfny-theme="blue"] .duplicate-inner-panel,
	html[data-hfny-theme="blue"] .duplicate-inner-panel > .panel-body {
		background-color: var(--hfny-surface) !important;
		color: var(--hfny-text);
	}

	html[data-hfny-theme="dark"] .duplicate-empty-state,
	html[data-hfny-theme="dark"] .empty-selected-row > td,
	html[data-hfny-theme="blue"] .duplicate-empty-state,
	html[data-hfny-theme="blue"] .empty-selected-row > td {
		background-color: var(--hfny-surface) !important;
		color: var(--hfny-text-muted) !important;
	}

	/* "To Merge" table — primary vs losing record rows */

	html[data-hfny-theme="dark"] #tblSelectedItems > tbody > tr.duplicate-primary,
	html[data-hfny-theme="dark"] #tblSelectedItems > tbody > tr.duplicate-primary > td,
	html[data-hfny-theme="blue"] #tblSelectedItems > tbody > tr.duplicate-primary,
	html[data-hfny-theme="blue"] #tblSelectedItems > tbody > tr.duplicate-primary > td {
		background-color: #1e4620 !important;
		color: #ffffff !important;
	}

	html[data-hfny-theme="dark"] #tblSelectedItems > tbody > tr.duplicate-loser,
	html[data-hfny-theme="dark"] #tblSelectedItems > tbody > tr.duplicate-loser > td,
	html[data-hfny-theme="blue"] #tblSelectedItems > tbody > tr.duplicate-loser,
	html[data-hfny-theme="blue"] #tblSelectedItems > tbody > tr.duplicate-loser > td {
		background-color: var(--hfny-surface-alt) !important;
		color: var(--hfny-text) !important;
	}

	html[data-hfny-theme="dark"] #tblSelectedItems .selected-name,
	html[data-hfny-theme="blue"] #tblSelectedItems .selected-name {
		color: #ffffff !important;
	}

	html[data-hfny-theme="dark"] #tblSelectedItems > tbody > tr.duplicate-loser .selected-name,
	html[data-hfny-theme="blue"] #tblSelectedItems > tbody > tr.duplicate-loser .selected-name {
		color: var(--hfny-text-muted) !important;
		text-decoration: line-through;
	}

	html[data-hfny-theme="dark"] #tblSelectedItems .label.label-default,
	html[data-hfny-theme="blue"] #tblSelectedItems .label.label-default {
		background-color: var(--hfny-border-strong) !important;
		color: #ffffff !important;
	}

	html[data-hfny-theme="dark"] #tblSelectedItems .label.label-success,
	html[data-hfny-theme="dark"] #tblSelectedItems .primary-pill,
	html[data-hfny-theme="blue"] #tblSelectedItems .label.label-success,
	html[data-hfny-theme="blue"] #tblSelectedItems .primary-pill {
		background-color: #39733c !important;
		color: #ffffff !important;
	}

	html[data-hfny-theme="dark"] #tblSelectedItems > thead > tr > th,
	html[data-hfny-theme="blue"] #tblSelectedItems > thead > tr > th {
		background-color: var(--hfny-surface-alt);
		color: #ffffff;
		border-color: var(--hfny-border);
	}

	/* Duplicate Remover — selected rows and the "To Merge" side panel */

	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.duplicate-primary-left,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.duplicate-primary-left > td,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.duplicate-selected,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.duplicate-selected > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.duplicate-primary-left,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.duplicate-primary-left > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.duplicate-selected,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.duplicate-selected > td {
		background-color: #0e639c !important;
		color: #ffffff !important;
	}

		html[data-hfny-theme="dark"] table.dataTable > tbody > tr.duplicate-primary-left > td strong,
		html[data-hfny-theme="dark"] table.dataTable > tbody > tr.duplicate-primary-left > td small,
		html[data-hfny-theme="dark"] table.dataTable > tbody > tr.duplicate-primary-left > td .text-muted,
		html[data-hfny-theme="dark"] table.dataTable > tbody > tr.duplicate-selected > td strong,
		html[data-hfny-theme="dark"] table.dataTable > tbody > tr.duplicate-selected > td small,
		html[data-hfny-theme="dark"] table.dataTable > tbody > tr.duplicate-selected > td .text-muted,
		html[data-hfny-theme="blue"] table.dataTable > tbody > tr.duplicate-primary-left > td strong,
		html[data-hfny-theme="blue"] table.dataTable > tbody > tr.duplicate-primary-left > td small,
		html[data-hfny-theme="blue"] table.dataTable > tbody > tr.duplicate-primary-left > td .text-muted,
		html[data-hfny-theme="blue"] table.dataTable > tbody > tr.duplicate-selected > td strong,
		html[data-hfny-theme="blue"] table.dataTable > tbody > tr.duplicate-selected > td small,
		html[data-hfny-theme="blue"] table.dataTable > tbody > tr.duplicate-selected > td .text-muted {
			color: #ffffff !important;
		}

	html[data-hfny-theme="dark"] .merge-summary-panel,
	html[data-hfny-theme="dark"] .merge-summary-panel > .panel-body,
	html[data-hfny-theme="dark"] .merge-summary-panel > .panel-heading,
	html[data-hfny-theme="blue"] .merge-summary-panel,
	html[data-hfny-theme="blue"] .merge-summary-panel > .panel-body,
	html[data-hfny-theme="blue"] .merge-summary-panel > .panel-heading {
		background-color: var(--hfny-surface) !important;
		border-color: var(--hfny-border) !important;
		color: var(--hfny-text) !important;
	}

		html[data-hfny-theme="dark"] .merge-summary-panel > .panel-heading strong,
		html[data-hfny-theme="blue"] .merge-summary-panel > .panel-heading strong {
			color: #ffffff !important;
		}

		html[data-hfny-theme="dark"] .merge-summary-panel .text-muted,
		html[data-hfny-theme="dark"] #mergeSummaryBody,
		html[data-hfny-theme="dark"] #mergeSummaryBody .text-muted,
		html[data-hfny-theme="dark"] #mergeSummaryBody p,
		html[data-hfny-theme="blue"] .merge-summary-panel .text-muted,
		html[data-hfny-theme="blue"] #mergeSummaryBody,
		html[data-hfny-theme="blue"] #mergeSummaryBody .text-muted,
		html[data-hfny-theme="blue"] #mergeSummaryBody p {
			color: var(--hfny-text-muted) !important;
		}

	html[data-hfny-theme="dark"] .duplicate-usage-badge,
	html[data-hfny-theme="blue"] .duplicate-usage-badge {
		background-color: var(--hfny-border-strong);
		color: #ffffff;
	}

	html[data-hfny-theme="dark"] .panel-default,
	html[data-hfny-theme="blue"] .panel-default {
		border-color: var(--hfny-border);
	}

		html[data-hfny-theme="dark"] .panel-default > .panel-heading,
		html[data-hfny-theme="dark"] .panel-default > .panel-footer,
		html[data-hfny-theme="blue"] .panel-default > .panel-heading,
		html[data-hfny-theme="blue"] .panel-default > .panel-footer {
			background-color: var(--hfny-surface-alt);
			border-color: var(--hfny-border);
			color: #ffffff;
		}

	html[data-hfny-theme="dark"] .panel-footer,
	html[data-hfny-theme="blue"] .panel-footer {
		background-color: var(--hfny-surface-alt) !important;
		border-top-color: var(--hfny-border);
		color: var(--hfny-text);
	}

	/* Contextual panel variants */

	html[data-hfny-theme="dark"] .panel-primary,
	html[data-hfny-theme="blue"] .panel-primary {
		border-color: #007acc;
	}

		html[data-hfny-theme="dark"] .panel-primary > .panel-heading,
		html[data-hfny-theme="blue"] .panel-primary > .panel-heading {
			background-color: #007acc !important;
			border-color: #007acc;
			color: #ffffff;
		}

	html[data-hfny-theme="dark"] .panel-info,
	html[data-hfny-theme="blue"] .panel-info {
		border-color: #315767;
	}

		html[data-hfny-theme="dark"] .panel-info > .panel-heading,
		html[data-hfny-theme="blue"] .panel-info > .panel-heading {
			background-color: #1f3a46 !important;
			border-color: #315767;
			color: #d4eaf3;
		}

	html[data-hfny-theme="dark"] .panel-success,
	html[data-hfny-theme="blue"] .panel-success {
		border-color: #326b35;
	}

		html[data-hfny-theme="dark"] .panel-success > .panel-heading,
		html[data-hfny-theme="blue"] .panel-success > .panel-heading {
			background-color: #1e4620 !important;
			border-color: #326b35;
			color: #d7f3d8;
		}

	html[data-hfny-theme="dark"] .panel-warning,
	html[data-hfny-theme="blue"] .panel-warning {
		border-color: #755b23;
	}

		html[data-hfny-theme="dark"] .panel-warning > .panel-heading,
		html[data-hfny-theme="blue"] .panel-warning > .panel-heading {
			background-color: #4d3b16 !important;
			border-color: #755b23;
			color: #f9e7b0;
		}

	html[data-hfny-theme="dark"] .panel-danger,
	html[data-hfny-theme="blue"] .panel-danger {
		border-color: #76333b;
	}

		html[data-hfny-theme="dark"] .panel-danger > .panel-heading,
		html[data-hfny-theme="blue"] .panel-danger > .panel-heading {
			background-color: #4b1f24 !important;
			border-color: #76333b;
			color: #f5c6cb;
		}

	/* Lobipanel plugin overrides (higher specificity + load-order safe) */

	html[data-hfny-theme="dark"] .panel.lobipanel,
	html[data-hfny-theme="dark"] .panel.lobipanel.panel-info,
	html[data-hfny-theme="dark"] .panel.lobipanel.panel-warning,
	html[data-hfny-theme="blue"] .panel.lobipanel,
	html[data-hfny-theme="blue"] .panel.lobipanel.panel-info,
	html[data-hfny-theme="blue"] .panel.lobipanel.panel-warning {
		background-color: var(--hfny-surface) !important;
		border-color: var(--hfny-border) !important;
	}

		html[data-hfny-theme="dark"] .panel.lobipanel.panel-info > .panel-heading,
		html[data-hfny-theme="blue"] .panel.lobipanel.panel-info > .panel-heading {
			background-color: #1f3a46 !important;
			border-color: #315767 !important;
			color: #d4eaf3 !important;
		}

		html[data-hfny-theme="dark"] .panel.lobipanel.panel-warning > .panel-heading,
		html[data-hfny-theme="blue"] .panel.lobipanel.panel-warning > .panel-heading {
			background-color: #4d3b16 !important;
			border-color: #755b23 !important;
			color: #f9e7b0 !important;
		}

		html[data-hfny-theme="dark"] .panel.lobipanel > .panel-heading .panel-control-icon,
		html[data-hfny-theme="dark"] .panel.lobipanel > .panel-heading .glyphicon,
		html[data-hfny-theme="blue"] .panel.lobipanel > .panel-heading .panel-control-icon,
		html[data-hfny-theme="blue"] .panel.lobipanel > .panel-heading .glyphicon {
			color: inherit;
		}

		html[data-hfny-theme="dark"] .panel.lobipanel > .panel-body,
		html[data-hfny-theme="blue"] .panel.lobipanel > .panel-body {
			background-color: var(--hfny-surface) !important;
			color: var(--hfny-text);
		}

	/* DataTables length / search controls */

	html[data-hfny-theme="dark"] .dataTables_wrapper .dataTables_length select,
	html[data-hfny-theme="dark"] .dataTables_wrapper .dataTables_filter input,
	html[data-hfny-theme="blue"] .dataTables_wrapper .dataTables_length select,
	html[data-hfny-theme="blue"] .dataTables_wrapper .dataTables_filter input {
		background-color: var(--hfny-field);
		border: 1px solid var(--hfny-border-strong);
		color: var(--hfny-text-field);
	}

	/* Popovers */

	html[data-hfny-theme="dark"] .popover,
	html[data-hfny-theme="blue"] .popover {
		background-color: var(--hfny-surface);
		border-color: var(--hfny-border-strong);
		color: var(--hfny-text);
		box-shadow: 0 6px 12px rgba(0, 0, 0, .5);
	}

	html[data-hfny-theme="dark"] .popover-title,
	html[data-hfny-theme="blue"] .popover-title {
		background-color: var(--hfny-surface-alt);
		border-bottom-color: var(--hfny-border);
		color: #ffffff;
	}

	html[data-hfny-theme="dark"] .popover.top > .arrow,
	html[data-hfny-theme="blue"] .popover.top > .arrow {
		border-top-color: var(--hfny-border-strong);
	}

		html[data-hfny-theme="dark"] .popover.top > .arrow:after,
		html[data-hfny-theme="blue"] .popover.top > .arrow:after {
			border-top-color: var(--hfny-surface);
		}

	html[data-hfny-theme="dark"] .popover.right > .arrow,
	html[data-hfny-theme="blue"] .popover.right > .arrow {
		border-right-color: var(--hfny-border-strong);
	}

		html[data-hfny-theme="dark"] .popover.right > .arrow:after,
		html[data-hfny-theme="blue"] .popover.right > .arrow:after {
			border-right-color: var(--hfny-surface);
		}

	html[data-hfny-theme="dark"] .popover.bottom > .arrow,
	html[data-hfny-theme="blue"] .popover.bottom > .arrow {
		border-bottom-color: var(--hfny-border-strong);
	}

		html[data-hfny-theme="dark"] .popover.bottom > .arrow:after,
		html[data-hfny-theme="blue"] .popover.bottom > .arrow:after {
			border-bottom-color: var(--hfny-surface-alt);
		}

	html[data-hfny-theme="dark"] .popover.left > .arrow,
	html[data-hfny-theme="blue"] .popover.left > .arrow {
		border-left-color: var(--hfny-border-strong);
	}

		html[data-hfny-theme="dark"] .popover.left > .arrow:after,
		html[data-hfny-theme="blue"] .popover.left > .arrow:after {
			border-left-color: var(--hfny-surface);
		}

	/* Inline filter label groups — Case Activity widget and the dashboard
	   trend chart both use the .FilterLabel pattern, where the selected
	   option is marked with an .active class. */

	html[data-hfny-theme="dark"] .case-activity-filters .filters-label,
	html[data-hfny-theme="dark"] .trend-filters .filters-label,
	html[data-hfny-theme="blue"] .case-activity-filters .filters-label,
	html[data-hfny-theme="blue"] .trend-filters .filters-label {
		color: var(--hfny-text);
	}

	html[data-hfny-theme="dark"] .case-activity-filters .FilterLabel,
	html[data-hfny-theme="dark"] .trend-filters .FilterLabel,
	html[data-hfny-theme="dark"] .trend-filters span.FilterLabel,
	html[data-hfny-theme="blue"] .case-activity-filters .FilterLabel,
	html[data-hfny-theme="blue"] .trend-filters .FilterLabel,
	html[data-hfny-theme="blue"] .trend-filters span.FilterLabel {
		color: #ffffff !important;
		cursor: pointer;
	}

		html[data-hfny-theme="dark"] .case-activity-filters .FilterLabel:hover,
		html[data-hfny-theme="dark"] .trend-filters .FilterLabel:hover,
		html[data-hfny-theme="blue"] .case-activity-filters .FilterLabel:hover,
		html[data-hfny-theme="blue"] .trend-filters .FilterLabel:hover {
			color: #ffffff;
			text-decoration: underline;
		}

		html[data-hfny-theme="dark"] .case-activity-filters .FilterLabel.active,
		html[data-hfny-theme="dark"] .case-activity-filters .FilterLabel.selected,
		html[data-hfny-theme="dark"] .trend-filters .FilterLabel.active,
		html[data-hfny-theme="dark"] .trend-filters .FilterLabel.selected,
		html[data-hfny-theme="blue"] .case-activity-filters .FilterLabel.active,
		html[data-hfny-theme="blue"] .case-activity-filters .FilterLabel.selected,
		html[data-hfny-theme="blue"] .trend-filters .FilterLabel.active,
		html[data-hfny-theme="blue"] .trend-filters .FilterLabel.selected {
			color: #ffffff;
			font-weight: 600;
			text-decoration: underline;
		}

	/* The separator pipes between options */
	html[data-hfny-theme="dark"] .trend-filters > span:not(.FilterLabel):not(.filters-label),
	html[data-hfny-theme="blue"] .trend-filters > span:not(.FilterLabel):not(.filters-label) {
		color: var(--hfny-text-muted);
	}

	/* Chosen select plugin */

	html[data-hfny-theme="dark"] .chosen-container-single .chosen-single,
	html[data-hfny-theme="dark"] .chosen-container-multi .chosen-choices,
	html[data-hfny-theme="blue"] .chosen-container-single .chosen-single,
	html[data-hfny-theme="blue"] .chosen-container-multi .chosen-choices {
		background: var(--hfny-field);
		border: 1px solid var(--hfny-border-strong);
		box-shadow: none;
		color: var(--hfny-text-field);
	}

		html[data-hfny-theme="dark"] .chosen-container-single .chosen-single span,
		html[data-hfny-theme="blue"] .chosen-container-single .chosen-single span {
			color: var(--hfny-text-field);
		}

		html[data-hfny-theme="dark"] .chosen-container-single .chosen-single div b,
		html[data-hfny-theme="blue"] .chosen-container-single .chosen-single div b {
			filter: invert(1) brightness(1.5);
		}

		html[data-hfny-theme="dark"] .chosen-container-single .chosen-single abbr,
		html[data-hfny-theme="blue"] .chosen-container-single .chosen-single abbr {
			filter: invert(1) brightness(1.5);
		}

	html[data-hfny-theme="dark"] .chosen-container .chosen-drop,
	html[data-hfny-theme="blue"] .chosen-container .chosen-drop {
		background: var(--hfny-surface);
		border: 1px solid var(--hfny-border-strong);
		box-shadow: 0 6px 12px rgba(0, 0, 0, .5);
	}

	html[data-hfny-theme="dark"] .chosen-container .chosen-search input[type="text"],
	html[data-hfny-theme="dark"] .chosen-container .chosen-search-input,
	html[data-hfny-theme="dark"] .chosen-container-multi .chosen-choices li.search-field input[type="text"],
	html[data-hfny-theme="dark"] .chosen-container-multi .chosen-choices li.search-field .chosen-search-input,
	html[data-hfny-theme="blue"] .chosen-container .chosen-search input[type="text"],
	html[data-hfny-theme="blue"] .chosen-container .chosen-search-input,
	html[data-hfny-theme="blue"] .chosen-container-multi .chosen-choices li.search-field input[type="text"],
	html[data-hfny-theme="blue"] .chosen-container-multi .chosen-choices li.search-field .chosen-search-input {
		background-color: var(--hfny-field) !important;
		border: 1px solid var(--hfny-border-strong) !important;
		color: var(--hfny-text-field) !important;
		box-shadow: none;
	}

		html[data-hfny-theme="dark"] .chosen-container .chosen-search-input::placeholder,
		html[data-hfny-theme="dark"] .chosen-container-multi .chosen-choices li.search-field input::placeholder,
		html[data-hfny-theme="blue"] .chosen-container .chosen-search-input::placeholder,
		html[data-hfny-theme="blue"] .chosen-container-multi .chosen-choices li.search-field input::placeholder {
			color: #999999 !important;
		}

	html[data-hfny-theme="dark"] .chosen-container .chosen-results,
	html[data-hfny-theme="blue"] .chosen-container .chosen-results {
		color: var(--hfny-text);
	}

		html[data-hfny-theme="dark"] .chosen-container .chosen-results li,
		html[data-hfny-theme="blue"] .chosen-container .chosen-results li {
			color: var(--hfny-text);
		}

			html[data-hfny-theme="dark"] .chosen-container .chosen-results li.highlighted,
			html[data-hfny-theme="blue"] .chosen-container .chosen-results li.highlighted {
				background: #007acc;
				color: #ffffff;
			}

			html[data-hfny-theme="dark"] .chosen-container .chosen-results li.result-selected,
			html[data-hfny-theme="blue"] .chosen-container .chosen-results li.result-selected {
				background: #0e639c;
				color: #ffffff;
				font-weight: 600;
			}

			html[data-hfny-theme="dark"] .chosen-container .chosen-results li.group-result,
			html[data-hfny-theme="blue"] .chosen-container .chosen-results li.group-result {
				color: var(--hfny-text-muted);
			}

			html[data-hfny-theme="dark"] .chosen-container .chosen-results li.no-results,
			html[data-hfny-theme="blue"] .chosen-container .chosen-results li.no-results {
				background: var(--hfny-surface-alt);
				color: #b7b7b7;
			}

	html[data-hfny-theme="dark"] .chosen-container-multi .chosen-choices li.search-choice,
	html[data-hfny-theme="blue"] .chosen-container-multi .chosen-choices li.search-choice {
		background: var(--hfny-raised) !important;
		background-image: none !important;
		border: 1px solid #666666 !important;
		box-shadow: none;
		color: #ffffff !important;
	}

		html[data-hfny-theme="dark"] .chosen-container-multi .chosen-choices li.search-choice span,
		html[data-hfny-theme="blue"] .chosen-container-multi .chosen-choices li.search-choice span {
			color: #ffffff !important;
		}

		html[data-hfny-theme="dark"] .chosen-container-multi .chosen-choices li.search-choice .search-choice-close,
		html[data-hfny-theme="blue"] .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
			filter: invert(1) brightness(1.5);
		}

	html[data-hfny-theme="dark"] .chosen-container-multi .chosen-choices li.search-field input[type="text"],
	html[data-hfny-theme="blue"] .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
		color: var(--hfny-text-field);
	}

	html[data-hfny-theme="dark"] .chosen-container-active .chosen-single,
	html[data-hfny-theme="dark"] .chosen-container-active .chosen-choices,
	html[data-hfny-theme="blue"] .chosen-container-active .chosen-single,
	html[data-hfny-theme="blue"] .chosen-container-active .chosen-choices {
		border-color: #007acc;
		box-shadow: 0 0 6px rgba(0, 122, 204, .6);
	}

	html[data-hfny-theme="dark"] .chosen-container-active.chosen-with-drop .chosen-single,
	html[data-hfny-theme="blue"] .chosen-container-active.chosen-with-drop .chosen-single {
		background: var(--hfny-field);
		border-color: #007acc;
	}

	html[data-hfny-theme="dark"] .chosen-disabled .chosen-single,
	html[data-hfny-theme="blue"] .chosen-disabled .chosen-single {
		background-color: var(--hfny-surface-alt);
		color: #999999;
	}

	/* Inline yellow text highlights (e.g. "Please note") — tone the
   background down and force dark text so it stays readable. */

	html[data-hfny-theme="dark"] span[style*="background-color:#ffff00"],
	html[data-hfny-theme="dark"] span[style*="background-color: #ffff00"],
	html[data-hfny-theme="dark"] span[style*="background-color:yellow"],
	html[data-hfny-theme="dark"] span[style*="background-color: yellow"],
	html[data-hfny-theme="dark"] [style*="background-color:#ffff00"],
	html[data-hfny-theme="dark"] [style*="background-color: #ffff00"],
	html[data-hfny-theme="dark"] [style*="background-color:yellow"],
	html[data-hfny-theme="dark"] [style*="background-color: yellow"],
	html[data-hfny-theme="blue"] span[style*="background-color:#ffff00"],
	html[data-hfny-theme="blue"] span[style*="background-color: #ffff00"],
	html[data-hfny-theme="blue"] span[style*="background-color:yellow"],
	html[data-hfny-theme="blue"] span[style*="background-color: yellow"],
	html[data-hfny-theme="blue"] [style*="background-color:#ffff00"],
	html[data-hfny-theme="blue"] [style*="background-color: #ffff00"],
	html[data-hfny-theme="blue"] [style*="background-color:yellow"],
	html[data-hfny-theme="blue"] [style*="background-color: yellow"] {
		background-color: #6b5d1b !important;
		color: #f9e7b0 !important;
		padding: 0 3px;
		border-radius: 2px;
	}

/* Alternate ID value */

html:not([data-hfny-theme="dark"]) #lblAltID {
	color: blue;
}

html[data-hfny-theme="dark"] #lblAltID,
html[data-hfny-theme="blue"] #lblAltID {
	color: #4fc1ff;
}

/* Worker name header — inline color:Blue in the markup. The rendered id
   is ASP.NET-prefixed (ctl00_..._lblWorkerName), so match by suffix. */

html[data-hfny-theme="dark"] span[id$="lblWorkerName"],
html[data-hfny-theme="blue"] span[id$="lblWorkerName"] {
	color: #4fc1ff !important;
}

/* Disabled states */

html[data-hfny-theme="dark"] .list-group-item.disabled,
html[data-hfny-theme="dark"] a.list-group-item.disabled,
html[data-hfny-theme="dark"] .list-group-item[disabled],
html[data-hfny-theme="dark"] .moreInfo.disabled,
html[data-hfny-theme="blue"] .list-group-item.disabled,
html[data-hfny-theme="blue"] a.list-group-item.disabled,
html[data-hfny-theme="blue"] .list-group-item[disabled],
html[data-hfny-theme="blue"] .moreInfo.disabled {
	background-color: var(--hfny-disabled-bg) !important;
	border-color: var(--hfny-disabled-bd) !important;
	color: var(--hfny-disabled-fg) !important;
	cursor: not-allowed;
	opacity: 1;
}

	html[data-hfny-theme="dark"] .list-group-item.disabled:hover,
	html[data-hfny-theme="dark"] a.list-group-item.disabled:hover,
	html[data-hfny-theme="dark"] .moreInfo.disabled:hover,
	html[data-hfny-theme="blue"] .list-group-item.disabled:hover,
	html[data-hfny-theme="blue"] a.list-group-item.disabled:hover,
	html[data-hfny-theme="blue"] .moreInfo.disabled:hover {
		color: var(--hfny-disabled-fg) !important;
		text-decoration: none !important;
	}

	html[data-hfny-theme="dark"] .list-group-item.disabled .badge,
	html[data-hfny-theme="dark"] .moreInfo.disabled .badge,
	html[data-hfny-theme="blue"] .list-group-item.disabled .badge,
	html[data-hfny-theme="blue"] .moreInfo.disabled .badge {
		background-color: var(--hfny-disabled-bd);
		color: var(--hfny-disabled-fg);
	}

	html[data-hfny-theme="dark"] .list-group-item.disabled .glyphicon,
	html[data-hfny-theme="dark"] .moreInfo.disabled .glyphicon,
	html[data-hfny-theme="blue"] .list-group-item.disabled .glyphicon,
	html[data-hfny-theme="blue"] .moreInfo.disabled .glyphicon {
		color: var(--hfny-disabled-fg);
	}

html[data-hfny-theme="dark"] .btn.disabled,
html[data-hfny-theme="dark"] .btn[disabled],
html[data-hfny-theme="dark"] fieldset[disabled] .btn,
html[data-hfny-theme="blue"] .btn.disabled,
html[data-hfny-theme="blue"] .btn[disabled],
html[data-hfny-theme="blue"] fieldset[disabled] .btn {
	opacity: .45;
	cursor: not-allowed;
}

html[data-hfny-theme="dark"] a.btn[disabled],
html[data-hfny-theme="dark"] a.btn.disabled,
html[data-hfny-theme="dark"] .btn-default[disabled],
html[data-hfny-theme="dark"] .btn-default.disabled,
html[data-hfny-theme="blue"] a.btn[disabled],
html[data-hfny-theme="blue"] a.btn.disabled,
html[data-hfny-theme="blue"] .btn-default[disabled],
html[data-hfny-theme="blue"] .btn-default.disabled {
	background-color: var(--hfny-disabled-bg) !important;
	border-color: var(--hfny-disabled-bd) !important;
	color: var(--hfny-disabled-fg) !important;
	opacity: 1;
	cursor: not-allowed;
}

	html[data-hfny-theme="dark"] a.btn[disabled] .glyphicon,
	html[data-hfny-theme="dark"] a.btn.disabled .glyphicon,
	html[data-hfny-theme="dark"] .btn-default[disabled] .glyphicon,
	html[data-hfny-theme="dark"] .btn-default.disabled .glyphicon,
	html[data-hfny-theme="blue"] a.btn[disabled] .glyphicon,
	html[data-hfny-theme="blue"] a.btn.disabled .glyphicon,
	html[data-hfny-theme="blue"] .btn-default[disabled] .glyphicon,
	html[data-hfny-theme="blue"] .btn-default.disabled .glyphicon {
		color: var(--hfny-disabled-fg) !important;
	}

html[data-hfny-theme="dark"] span[disabled],
html[data-hfny-theme="blue"] span[disabled] {
	opacity: .5;
}

html[data-hfny-theme="dark"] input[disabled],
html[data-hfny-theme="dark"] input[type="checkbox"][disabled],
html[data-hfny-theme="dark"] input[type="radio"][disabled],
html[data-hfny-theme="blue"] input[disabled],
html[data-hfny-theme="blue"] input[type="checkbox"][disabled],
html[data-hfny-theme="blue"] input[type="radio"][disabled] {
	opacity: .45;
	cursor: not-allowed;
}

	html[data-hfny-theme="dark"] input[disabled] + label,
	html[data-hfny-theme="dark"] [disabled] label,
	html[data-hfny-theme="blue"] input[disabled] + label,
	html[data-hfny-theme="blue"] [disabled] label {
		color: #7a7a7a;
	}

/* Validation summaries (override inline light colors) */

html[data-hfny-theme="dark"] div.validation-summary,
html[data-hfny-theme="dark"] div.validation-summary.alert,
html[data-hfny-theme="dark"] div.validation-summary.alert-danger,
html[data-hfny-theme="dark"] .alert.validation-summary[style],
html[data-hfny-theme="blue"] div.validation-summary,
html[data-hfny-theme="blue"] div.validation-summary.alert,
html[data-hfny-theme="blue"] div.validation-summary.alert-danger,
html[data-hfny-theme="blue"] .alert.validation-summary[style] {
	background-color: #4b1f24 !important;
	border-color: #76333b !important;
	color: #f5c6cb !important;
}

html[data-hfny-theme="dark"] .validation-summary a,
html[data-hfny-theme="blue"] .validation-summary a {
	color: #f5c6cb !important;
	text-decoration: underline;
}

/* Autosave draft banner (override inline light colors) */

html[data-hfny-theme="dark"] #hfnyAutosaveBanner,
html[data-hfny-theme="dark"] .hfny-autosave-draft-summary,
html[data-hfny-theme="blue"] #hfnyAutosaveBanner,
html[data-hfny-theme="blue"] .hfny-autosave-draft-summary {
	background-color: #1f3a46 !important;
	border-color: #3d7a94 !important;
	color: #d4eaf3 !important;
	box-shadow: 0 0 0 1px rgba(61, 122, 148, .35), 0 2px 8px rgba(0, 0, 0, .4);
}

	html[data-hfny-theme="dark"] #hfnyAutosaveBanner strong,
	html[data-hfny-theme="dark"] .hfny-autosave-draft-summary strong,
	html[data-hfny-theme="blue"] #hfnyAutosaveBanner strong,
	html[data-hfny-theme="blue"] .hfny-autosave-draft-summary strong {
		color: #ffffff;
	}

	html[data-hfny-theme="dark"] #hfnyAutosaveBanner .text-muted,
	html[data-hfny-theme="dark"] .hfny-autosave-draft-summary .text-muted,
	html[data-hfny-theme="blue"] #hfnyAutosaveBanner .text-muted,
	html[data-hfny-theme="blue"] .hfny-autosave-draft-summary .text-muted {
		color: #b8d6e2 !important;
	}

	html[data-hfny-theme="dark"] #hfnyAutosaveBanner .glyphicon,
	html[data-hfny-theme="dark"] .hfny-autosave-draft-summary .glyphicon,
	html[data-hfny-theme="blue"] #hfnyAutosaveBanner .glyphicon,
	html[data-hfny-theme="blue"] .hfny-autosave-draft-summary .glyphicon {
		color: inherit;
	}

/* FROG domain / section headers (override custom light backgrounds) */

/* Main domain header — base */
html[data-hfny-theme="dark"] .panel-heading.domain-header,
html[data-hfny-theme="blue"] .panel-heading.domain-header {
	background-color: var(--hfny-surface-alt) !important;
	border-color: var(--hfny-border) !important;
	color: #ffffff !important;
	border-left: 4px solid #007acc !important;
}

html[data-hfny-theme="dark"] .domain-header span,
html[data-hfny-theme="dark"] .domain-header a,
html[data-hfny-theme="blue"] .domain-header span,
html[data-hfny-theme="blue"] .domain-header a {
	color: #ffffff !important;
}

/* Category accents — applied to headers and to the reused .alert boxes.
   Each category keeps a distinct hue so sections stay visually grouped. */

/* Social & Emotional Competence */
html[data-hfny-theme="dark"] .panel-heading.domain-sec-header,
html[data-hfny-theme="blue"] .panel-heading.domain-sec-header {
	background-color: #1f3a46 !important;
	border-left-color: #3d9bd4 !important;
	color: #d4eaf3 !important;
}

/* Knowledge of Parenting & Child Development / Social Connections */
html[data-hfny-theme="dark"] .panel-heading.domain-kpcd-header,
html[data-hfny-theme="blue"] .panel-heading.domain-kpcd-header {
	background-color: #26304a !important;
	border-left-color: #6a7fdd !important;
	color: #d7ddf5 !important;
}

/* Parental Resilience */
html[data-hfny-theme="dark"] .panel-heading.domain-pr-header,
html[data-hfny-theme="blue"] .panel-heading.domain-pr-header {
	background-color: #1e4620 !important;
	border-left-color: #4a8b4e !important;
	color: #d7f3d8 !important;
}

/* Concrete Resources */
html[data-hfny-theme="dark"] .panel-heading.domain-cr-header,
html[data-hfny-theme="blue"] .panel-heading.domain-cr-header {
	background-color: #4d3b16 !important;
	border-left-color: #c18120 !important;
	color: #f9e7b0 !important;
}

	html[data-hfny-theme="dark"] .panel-heading.domain-sec-header span,
	html[data-hfny-theme="dark"] .panel-heading.domain-kpcd-header span,
	html[data-hfny-theme="dark"] .panel-heading.domain-pr-header span,
	html[data-hfny-theme="dark"] .panel-heading.domain-cr-header span,
	html[data-hfny-theme="blue"] .panel-heading.domain-sec-header span,
	html[data-hfny-theme="blue"] .panel-heading.domain-kpcd-header span,
	html[data-hfny-theme="blue"] .panel-heading.domain-pr-header span,
	html[data-hfny-theme="blue"] .panel-heading.domain-cr-header span {
		color: inherit !important;
	}

/* Same classes are reused on inline .alert boxes (the "PC1 scored higher
   than a 0" notices). Style those to match, but as a lighter callout. */

html[data-hfny-theme="dark"] .alert.domain-sec-header,
html[data-hfny-theme="blue"] .alert.domain-sec-header {
	background-color: #1f3a46 !important;
	border: 1px solid #315767 !important;
	border-left: 4px solid #3d9bd4 !important;
	color: #d4eaf3 !important;
}

html[data-hfny-theme="dark"] .alert.domain-kpcd-header,
html[data-hfny-theme="blue"] .alert.domain-kpcd-header {
	background-color: #26304a !important;
	border: 1px solid #3a4670 !important;
	border-left: 4px solid #6a7fdd !important;
	color: #d7ddf5 !important;
}

html[data-hfny-theme="dark"] .alert.domain-pr-header,
html[data-hfny-theme="blue"] .alert.domain-pr-header {
	background-color: #1e4620 !important;
	border: 1px solid #326b35 !important;
	border-left: 4px solid #4a8b4e !important;
	color: #d7f3d8 !important;
}

html[data-hfny-theme="dark"] .alert.domain-cr-header,
html[data-hfny-theme="blue"] .alert.domain-cr-header {
	background-color: #4d3b16 !important;
	border: 1px solid #755b23 !important;
	border-left: 4px solid #c18120 !important;
	color: #f9e7b0 !important;
}

html[data-hfny-theme="dark"] a.list-group-item,
html[data-hfny-theme="blue"] a.list-group-item {
	color: var(--hfny-text);
}

	html[data-hfny-theme="dark"] a.list-group-item:hover,
	html[data-hfny-theme="dark"] a.list-group-item:focus,
	html[data-hfny-theme="blue"] a.list-group-item:hover,
	html[data-hfny-theme="blue"] a.list-group-item:focus {
		background-color: var(--hfny-raised);
		color: #ffffff;
	}

/* Tables */

html[data-hfny-theme="dark"] .table,
html[data-hfny-theme="blue"] .table {
	background-color: var(--hfny-surface);
	color: var(--hfny-text);
}

	html[data-hfny-theme="dark"] .table > thead > tr > th,
	html[data-hfny-theme="blue"] .table > thead > tr > th {
		background-color: var(--hfny-surface-alt);
		border-bottom-color: var(--hfny-border-strong);
		color: #ffffff;
	}

	html[data-hfny-theme="dark"] .table > thead > tr > th,
	html[data-hfny-theme="dark"] .table > tbody > tr > th,
	html[data-hfny-theme="dark"] .table > tfoot > tr > th,
	html[data-hfny-theme="dark"] .table > thead > tr > td,
	html[data-hfny-theme="dark"] .table > tbody > tr > td,
	html[data-hfny-theme="dark"] .table > tfoot > tr > td,
	html[data-hfny-theme="blue"] .table > thead > tr > th,
	html[data-hfny-theme="blue"] .table > tbody > tr > th,
	html[data-hfny-theme="blue"] .table > tfoot > tr > th,
	html[data-hfny-theme="blue"] .table > thead > tr > td,
	html[data-hfny-theme="blue"] .table > tbody > tr > td,
	html[data-hfny-theme="blue"] .table > tfoot > tr > td {
		border-color: var(--hfny-border);
	}

html[data-hfny-theme="dark"] .table-bordered,
html[data-hfny-theme="dark"] .table-bordered > thead > tr > th,
html[data-hfny-theme="dark"] .table-bordered > tbody > tr > th,
html[data-hfny-theme="dark"] .table-bordered > tfoot > tr > th,
html[data-hfny-theme="dark"] .table-bordered > thead > tr > td,
html[data-hfny-theme="dark"] .table-bordered > tbody > tr > td,
html[data-hfny-theme="dark"] .table-bordered > tfoot > tr > td,
html[data-hfny-theme="blue"] .table-bordered,
html[data-hfny-theme="blue"] .table-bordered > thead > tr > th,
html[data-hfny-theme="blue"] .table-bordered > tbody > tr > th,
html[data-hfny-theme="blue"] .table-bordered > tfoot > tr > th,
html[data-hfny-theme="blue"] .table-bordered > thead > tr > td,
html[data-hfny-theme="blue"] .table-bordered > tbody > tr > td,
html[data-hfny-theme="blue"] .table-bordered > tfoot > tr > td {
	border-color: var(--hfny-border);
}

html[data-hfny-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd),
html[data-hfny-theme="blue"] .table-striped > tbody > tr:nth-of-type(odd) {
	background-color: var(--hfny-surface-alt);
}

/* Some server-rendered grids set an inline white row background —
   override it so rows follow the dark theme. */

html[data-hfny-theme="dark"] .table > tbody > tr[style*="background-color: rgb(255, 255, 255)"],
html[data-hfny-theme="dark"] .table > tbody > tr[style*="background-color:#ffffff"],
html[data-hfny-theme="dark"] .table > tbody > tr[style*="background-color: #ffffff"],
html[data-hfny-theme="dark"] .table > tbody > tr[style*="background-color:white"],
html[data-hfny-theme="dark"] .table > tbody > tr[style*="background-color: white"],
html[data-hfny-theme="blue"] .table > tbody > tr[style*="background-color: rgb(255, 255, 255)"],
html[data-hfny-theme="blue"] .table > tbody > tr[style*="background-color:#ffffff"],
html[data-hfny-theme="blue"] .table > tbody > tr[style*="background-color: #ffffff"],
html[data-hfny-theme="blue"] .table > tbody > tr[style*="background-color:white"],
html[data-hfny-theme="blue"] .table > tbody > tr[style*="background-color: white"] {
	background-color: var(--hfny-surface) !important;
	color: var(--hfny-text) !important;
}

	html[data-hfny-theme="dark"] .table > tbody > tr[style*="background-color: rgb(255, 255, 255)"] > td,
	html[data-hfny-theme="dark"] .table > tbody > tr[style*="background-color:#ffffff"] > td,
	html[data-hfny-theme="dark"] .table > tbody > tr[style*="background-color: #ffffff"] > td,
	html[data-hfny-theme="dark"] .table > tbody > tr[style*="background-color:white"] > td,
	html[data-hfny-theme="dark"] .table > tbody > tr[style*="background-color: white"] > td,
	html[data-hfny-theme="blue"] .table > tbody > tr[style*="background-color: rgb(255, 255, 255)"] > td,
	html[data-hfny-theme="blue"] .table > tbody > tr[style*="background-color:#ffffff"] > td,
	html[data-hfny-theme="blue"] .table > tbody > tr[style*="background-color: #ffffff"] > td,
	html[data-hfny-theme="blue"] .table > tbody > tr[style*="background-color:white"] > td,
	html[data-hfny-theme="blue"] .table > tbody > tr[style*="background-color: white"] > td {
		background-color: transparent !important;
		color: var(--hfny-text) !important;
	}

/* Contextual row states (status colouring, e.g. the immunization
   schedule: success = done, warning = nearing, danger = past due,
   active/info = upcoming or optional) */

html[data-hfny-theme="dark"] .table > tbody > tr.success,
html[data-hfny-theme="dark"] .table > tbody > tr.success > td,
html[data-hfny-theme="dark"] .table-striped > tbody > tr.success:nth-of-type(odd),
html[data-hfny-theme="dark"] .table-striped > tbody > tr.success:nth-of-type(odd) > td,
html[data-hfny-theme="blue"] .table > tbody > tr.success,
html[data-hfny-theme="blue"] .table > tbody > tr.success > td,
html[data-hfny-theme="blue"] .table-striped > tbody > tr.success:nth-of-type(odd),
html[data-hfny-theme="blue"] .table-striped > tbody > tr.success:nth-of-type(odd) > td {
	background-color: #1e4620;
	color: #d7f3d8;
}

html[data-hfny-theme="dark"] .table > tbody > tr.warning,
html[data-hfny-theme="dark"] .table > tbody > tr.warning > td,
html[data-hfny-theme="dark"] .table-striped > tbody > tr.warning:nth-of-type(odd),
html[data-hfny-theme="dark"] .table-striped > tbody > tr.warning:nth-of-type(odd) > td,
html[data-hfny-theme="blue"] .table > tbody > tr.warning,
html[data-hfny-theme="blue"] .table > tbody > tr.warning > td,
html[data-hfny-theme="blue"] .table-striped > tbody > tr.warning:nth-of-type(odd),
html[data-hfny-theme="blue"] .table-striped > tbody > tr.warning:nth-of-type(odd) > td {
	background-color: #4d3b16;
	color: #f9e7b0;
}

html[data-hfny-theme="dark"] .table > tbody > tr.danger,
html[data-hfny-theme="dark"] .table > tbody > tr.danger > td,
html[data-hfny-theme="dark"] .table-striped > tbody > tr.danger:nth-of-type(odd),
html[data-hfny-theme="dark"] .table-striped > tbody > tr.danger:nth-of-type(odd) > td,
html[data-hfny-theme="blue"] .table > tbody > tr.danger,
html[data-hfny-theme="blue"] .table > tbody > tr.danger > td,
html[data-hfny-theme="blue"] .table-striped > tbody > tr.danger:nth-of-type(odd),
html[data-hfny-theme="blue"] .table-striped > tbody > tr.danger:nth-of-type(odd) > td {
	background-color: #4b1f24;
	color: #f5c6cb;
}

html[data-hfny-theme="dark"] .table > tbody > tr.info,
html[data-hfny-theme="dark"] .table > tbody > tr.info > td,
html[data-hfny-theme="dark"] .table-striped > tbody > tr.info:nth-of-type(odd),
html[data-hfny-theme="dark"] .table-striped > tbody > tr.info:nth-of-type(odd) > td,
html[data-hfny-theme="blue"] .table > tbody > tr.info,
html[data-hfny-theme="blue"] .table > tbody > tr.info > td,
html[data-hfny-theme="blue"] .table-striped > tbody > tr.info:nth-of-type(odd),
html[data-hfny-theme="blue"] .table-striped > tbody > tr.info:nth-of-type(odd) > td {
	background-color: #1f3a46;
	color: #d4eaf3;
}

html[data-hfny-theme="dark"] .table > tbody > tr.active,
html[data-hfny-theme="dark"] .table > tbody > tr.active > td,
html[data-hfny-theme="dark"] .table-striped > tbody > tr.active:nth-of-type(odd),
html[data-hfny-theme="dark"] .table-striped > tbody > tr.active:nth-of-type(odd) > td,
html[data-hfny-theme="blue"] .table > tbody > tr.active,
html[data-hfny-theme="blue"] .table > tbody > tr.active > td,
html[data-hfny-theme="blue"] .table-striped > tbody > tr.active:nth-of-type(odd),
html[data-hfny-theme="blue"] .table-striped > tbody > tr.active:nth-of-type(odd) > td {
	background-color: var(--hfny-field);
	color: var(--hfny-text);
}

	/* Badges inside status rows keep contrast against the tinted row */
	html[data-hfny-theme="dark"] .table > tbody > tr.success .badge,
	html[data-hfny-theme="dark"] .table > tbody > tr.warning .badge,
	html[data-hfny-theme="dark"] .table > tbody > tr.danger .badge,
	html[data-hfny-theme="dark"] .table > tbody > tr.info .badge,
	html[data-hfny-theme="dark"] .table > tbody > tr.active .badge,
	html[data-hfny-theme="blue"] .table > tbody > tr.success .badge,
	html[data-hfny-theme="blue"] .table > tbody > tr.warning .badge,
	html[data-hfny-theme="blue"] .table > tbody > tr.danger .badge,
	html[data-hfny-theme="blue"] .table > tbody > tr.info .badge,
	html[data-hfny-theme="blue"] .table > tbody > tr.active .badge {
		background-color: rgba(0, 0, 0, .45);
		color: #ffffff;
	}

html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover,
html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover {
	background-color: var(--hfny-raised);
}

	html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover,
	html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td,
	html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > th,
	html[data-hfny-theme="dark"] table.dataTable.table-hover > tbody > tr:hover,
	html[data-hfny-theme="dark"] table.dataTable.table-hover > tbody > tr:hover > td,
	html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover,
	html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td,
	html[data-hfny-theme="dark"] .table > tbody > tr:hover,
	html[data-hfny-theme="dark"] .table > tbody > tr:hover > td,
	html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover,
	html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td,
	html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > th,
	html[data-hfny-theme="blue"] table.dataTable.table-hover > tbody > tr:hover,
	html[data-hfny-theme="blue"] table.dataTable.table-hover > tbody > tr:hover > td,
	html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover,
	html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td,
	html[data-hfny-theme="blue"] .table > tbody > tr:hover,
	html[data-hfny-theme="blue"] .table > tbody > tr:hover > td {
		background-color: #f5eaa8 !important;
		color: #000000 !important;
	}

		html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td > span:not(.btn span):not(.badge):not(.label),
		html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td > label,
		html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td > small,
		html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td > b,
		html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td > i:not(.btn i),
		html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td > div,
		html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td > span:not(.btn span):not(.badge):not(.label),
		html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td > label,
		html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td > small,
		html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td > b,
		html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td > i:not(.btn i),
		html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td > div,
		html[data-hfny-theme="dark"] .table > tbody > tr:hover > td > span:not(.btn span):not(.badge):not(.label),
		html[data-hfny-theme="dark"] .table > tbody > tr:hover > td > label,
		html[data-hfny-theme="dark"] .table > tbody > tr:hover > td > small,
		html[data-hfny-theme="dark"] .table > tbody > tr:hover > td > b,
		html[data-hfny-theme="dark"] .table > tbody > tr:hover > td > i:not(.btn i),
		html[data-hfny-theme="dark"] .table > tbody > tr:hover > td > div,
		html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td > span:not(.btn span):not(.badge):not(.label),
		html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td > label,
		html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td > small,
		html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td > b,
		html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td > i:not(.btn i),
		html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td > div,
		html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td > span:not(.btn span):not(.badge):not(.label),
		html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td > label,
		html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td > small,
		html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td > b,
		html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td > i:not(.btn i),
		html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td > div,
		html[data-hfny-theme="blue"] .table > tbody > tr:hover > td > span:not(.btn span):not(.badge):not(.label),
		html[data-hfny-theme="blue"] .table > tbody > tr:hover > td > label,
		html[data-hfny-theme="blue"] .table > tbody > tr:hover > td > small,
		html[data-hfny-theme="blue"] .table > tbody > tr:hover > td > b,
		html[data-hfny-theme="blue"] .table > tbody > tr:hover > td > i:not(.btn i),
		html[data-hfny-theme="blue"] .table > tbody > tr:hover > td > div {
			color: #000000 !important;
		}

		html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td a:not(.btn),
		html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td a:not(.btn),
		html[data-hfny-theme="dark"] .table > tbody > tr:hover > td a:not(.btn),
		html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td a:not(.btn),
		html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td a:not(.btn),
		html[data-hfny-theme="blue"] .table > tbody > tr:hover > td a:not(.btn) {
			color: #0a0a8a !important;
		}

		/* Dropdown menus opened from a hovered row keep menu styling */
		html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td .dropdown-menu > li > a,
		html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td .dropdown-menu > li > a,
		html[data-hfny-theme="dark"] .table > tbody > tr:hover > td .dropdown-menu > li > a,
		html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td .dropdown-menu > li > a,
		html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td .dropdown-menu > li > a,
		html[data-hfny-theme="blue"] .table > tbody > tr:hover > td .dropdown-menu > li > a {
			color: var(--hfny-text) !important;
			text-decoration: none !important;
		}

			html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td .dropdown-menu > li > a:hover,
			html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td .dropdown-menu > li > a:focus,
			html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td .dropdown-menu > li > a:hover,
			html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td .dropdown-menu > li > a:focus,
			html[data-hfny-theme="dark"] .table > tbody > tr:hover > td .dropdown-menu > li > a:hover,
			html[data-hfny-theme="dark"] .table > tbody > tr:hover > td .dropdown-menu > li > a:focus,
			html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td .dropdown-menu > li > a:hover,
			html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td .dropdown-menu > li > a:focus,
			html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td .dropdown-menu > li > a:hover,
			html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td .dropdown-menu > li > a:focus,
			html[data-hfny-theme="blue"] .table > tbody > tr:hover > td .dropdown-menu > li > a:hover,
			html[data-hfny-theme="blue"] .table > tbody > tr:hover > td .dropdown-menu > li > a:focus {
				background-color: var(--hfny-raised) !important;
				color: #ffffff !important;
			}

		html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td .btn,
		html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td .btn,
		html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td .btn,
		html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td .btn {
			text-decoration: none !important;
		}

		html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td .btn-default,
		html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td .btn-default,
		html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td .btn-default,
		html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td .btn-default {
			background-color: var(--hfny-raised) !important;
			border-color: #5a5a5f !important;
			color: var(--hfny-text-field) !important;
		}

		html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td .btn-primary,
		html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td .btn-primary,
		html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td .btn-primary,
		html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td .btn-primary {
			background-color: #007acc !important;
			border-color: #007acc !important;
			color: #ffffff !important;
		}

		html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td .btn-danger,
		html[data-hfny-theme="dark"] table.dataTable tbody > tr:hover > td .btn-danger,
		html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td .btn-danger,
		html[data-hfny-theme="blue"] table.dataTable tbody > tr:hover > td .btn-danger {
			background-color: #a3343d !important;
			border-color: #bd3f49 !important;
			color: #ffffff !important;
		}

/* Modal windows */

html[data-hfny-theme="dark"] .modal-content,
html[data-hfny-theme="blue"] .modal-content {
	background-color: var(--hfny-surface);
	border-color: var(--hfny-border-strong);
	color: var(--hfny-text);
}

html[data-hfny-theme="dark"] .modal-body,
html[data-hfny-theme="blue"] .modal-body {
	color: #e8e8e8 !important;
}

	html[data-hfny-theme="dark"] .modal-body > span,
	html[data-hfny-theme="dark"] .modal-body > p,
	html[data-hfny-theme="dark"] .modal-body span[id],
	html[data-hfny-theme="dark"] .modal-body > div:not(.alert):not(.form-group):not(.input-group),
	html[data-hfny-theme="blue"] .modal-body > span,
	html[data-hfny-theme="blue"] .modal-body > p,
	html[data-hfny-theme="blue"] .modal-body span[id],
	html[data-hfny-theme="blue"] .modal-body > div:not(.alert):not(.form-group):not(.input-group) {
		color: #e8e8e8 !important;
	}

html[data-hfny-theme="dark"] .modal-header,
html[data-hfny-theme="dark"] .modal-footer,
html[data-hfny-theme="blue"] .modal-header,
html[data-hfny-theme="blue"] .modal-footer {
	border-color: var(--hfny-border);
}

html[data-hfny-theme="dark"] .modal-title,
html[data-hfny-theme="blue"] .modal-title {
	color: #ffffff;
}

html[data-hfny-theme="dark"] .close,
html[data-hfny-theme="blue"] .close {
	color: #ffffff;
	opacity: .8;
	text-shadow: none;
}

/* Tabs */

html[data-hfny-theme="dark"] .nav-tabs,
html[data-hfny-theme="blue"] .nav-tabs {
	border-bottom-color: var(--hfny-border);
}

	html[data-hfny-theme="dark"] .nav-tabs > li > a,
	html[data-hfny-theme="blue"] .nav-tabs > li > a {
		color: var(--hfny-text);
	}

		html[data-hfny-theme="dark"] .nav-tabs > li > a:hover,
		html[data-hfny-theme="blue"] .nav-tabs > li > a:hover {
			background-color: var(--hfny-raised);
			border-color: var(--hfny-border);
			color: #ffffff;
		}

	html[data-hfny-theme="dark"] .nav-tabs > li.active > a,
	html[data-hfny-theme="dark"] .nav-tabs > li.active > a:hover,
	html[data-hfny-theme="dark"] .nav-tabs > li.active > a:focus,
	html[data-hfny-theme="blue"] .nav-tabs > li.active > a,
	html[data-hfny-theme="blue"] .nav-tabs > li.active > a:hover,
	html[data-hfny-theme="blue"] .nav-tabs > li.active > a:focus {
		background-color: var(--hfny-surface);
		border-color: var(--hfny-border);
		border-bottom-color: transparent;
		color: #ffffff;
	}

/* Pagination */

html[data-hfny-theme="dark"] .pagination > li > a,
html[data-hfny-theme="dark"] .pagination > li > span,
html[data-hfny-theme="blue"] .pagination > li > a,
html[data-hfny-theme="blue"] .pagination > li > span {
	background-color: var(--hfny-surface);
	border-color: var(--hfny-border);
	color: #4fc1ff;
}

	html[data-hfny-theme="dark"] .pagination > li > a:hover,
	html[data-hfny-theme="dark"] .pagination > li > span:hover,
	html[data-hfny-theme="blue"] .pagination > li > a:hover,
	html[data-hfny-theme="blue"] .pagination > li > span:hover {
		background-color: var(--hfny-raised);
		border-color: var(--hfny-border-strong);
	}

html[data-hfny-theme="dark"] .pagination > .active > a,
html[data-hfny-theme="dark"] .pagination > .active > span,
html[data-hfny-theme="dark"] .pagination > .active > a:hover,
html[data-hfny-theme="dark"] .pagination > .active > span:hover,
html[data-hfny-theme="blue"] .pagination > .active > a,
html[data-hfny-theme="blue"] .pagination > .active > span,
html[data-hfny-theme="blue"] .pagination > .active > a:hover,
html[data-hfny-theme="blue"] .pagination > .active > span:hover {
	background-color: #007acc;
	border-color: #007acc;
	color: #ffffff;
}

html[data-hfny-theme="dark"] .dataTables_paginate .paginate_button.active > a,
html[data-hfny-theme="dark"] .dataTables_paginate .paginate_button.active > a:hover,
html[data-hfny-theme="dark"] .dataTables_paginate .paginate_button.active > a:focus,
html[data-hfny-theme="dark"] .pagination > li.paginate_button.active > a,
html[data-hfny-theme="blue"] .dataTables_paginate .paginate_button.active > a,
html[data-hfny-theme="blue"] .dataTables_paginate .paginate_button.active > a:hover,
html[data-hfny-theme="blue"] .dataTables_paginate .paginate_button.active > a:focus,
html[data-hfny-theme="blue"] .pagination > li.paginate_button.active > a {
	background-color: #007acc !important;
	border-color: #007acc !important;
	color: #ffffff !important;
	font-weight: 600;
}

html[data-hfny-theme="dark"] .dataTables_paginate .paginate_button.disabled > a,
html[data-hfny-theme="dark"] .pagination > li.paginate_button.disabled > a,
html[data-hfny-theme="blue"] .dataTables_paginate .paginate_button.disabled > a,
html[data-hfny-theme="blue"] .pagination > li.paginate_button.disabled > a {
	color: #6b6b6b !important;
	cursor: not-allowed;
}

/* Bare form controls with no Bootstrap class (ASP.NET-rendered) */

html[data-hfny-theme="dark"] input[type="date"],
html[data-hfny-theme="dark"] input[type="time"],
html[data-hfny-theme="dark"] input[type="datetime-local"],
html[data-hfny-theme="dark"] input[type="month"],
html[data-hfny-theme="dark"] input[type="week"],
html[data-hfny-theme="blue"] input[type="date"],
html[data-hfny-theme="blue"] input[type="time"],
html[data-hfny-theme="blue"] input[type="datetime-local"],
html[data-hfny-theme="blue"] input[type="month"],
html[data-hfny-theme="blue"] input[type="week"] {
	background-color: var(--hfny-field);
	border: 1px solid var(--hfny-border-strong);
	border-radius: 4px;
	color: var(--hfny-text-field);
	padding: 4px 6px;
}

	html[data-hfny-theme="dark"] input[type="date"]:focus,
	html[data-hfny-theme="dark"] input[type="time"]:focus,
	html[data-hfny-theme="dark"] input[type="datetime-local"]:focus,
	html[data-hfny-theme="blue"] input[type="date"]:focus,
	html[data-hfny-theme="blue"] input[type="time"]:focus,
	html[data-hfny-theme="blue"] input[type="datetime-local"]:focus {
		border-color: #007acc;
		box-shadow: 0 0 6px rgba(0, 122, 204, .6);
		outline: none;
	}

	html[data-hfny-theme="dark"] input[type="date"][disabled],
	html[data-hfny-theme="dark"] input[type="time"][disabled],
	html[data-hfny-theme="dark"] input[type="datetime-local"][disabled],
	html[data-hfny-theme="blue"] input[type="date"][disabled],
	html[data-hfny-theme="blue"] input[type="time"][disabled],
	html[data-hfny-theme="blue"] input[type="datetime-local"][disabled] {
		background-color: var(--hfny-surface-alt);
		border-color: #444444;
		color: #999999;
		opacity: 1;
	}

	/* Native calendar / clock picker icons render dark on dark otherwise */
	html[data-hfny-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator,
	html[data-hfny-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator,
	html[data-hfny-theme="dark"] input[type="datetime-local"]::-webkit-calendar-picker-indicator,
	html[data-hfny-theme="blue"] input[type="date"]::-webkit-calendar-picker-indicator,
	html[data-hfny-theme="blue"] input[type="time"]::-webkit-calendar-picker-indicator,
	html[data-hfny-theme="blue"] input[type="datetime-local"]::-webkit-calendar-picker-indicator {
		filter: invert(1) brightness(1.6);
		cursor: pointer;
	}

html[data-hfny-theme="dark"] input[type="submit"]:not(.btn),
html[data-hfny-theme="dark"] input[type="button"]:not(.btn),
html[data-hfny-theme="dark"] input[type="reset"]:not(.btn),
html[data-hfny-theme="blue"] input[type="submit"]:not(.btn),
html[data-hfny-theme="blue"] input[type="button"]:not(.btn),
html[data-hfny-theme="blue"] input[type="reset"]:not(.btn) {
	background-color: var(--hfny-raised);
	border: 1px solid #5a5a5f;
	border-radius: 4px;
	color: var(--hfny-text-field);
	padding: 6px 12px;
}

	html[data-hfny-theme="dark"] input[type="submit"]:not(.btn):hover,
	html[data-hfny-theme="dark"] input[type="button"]:not(.btn):hover,
	html[data-hfny-theme="dark"] input[type="reset"]:not(.btn):hover,
	html[data-hfny-theme="blue"] input[type="submit"]:not(.btn):hover,
	html[data-hfny-theme="blue"] input[type="button"]:not(.btn):hover,
	html[data-hfny-theme="blue"] input[type="reset"]:not(.btn):hover {
		background-color: var(--hfny-raised-hover);
		border-color: #777777;
		color: #ffffff;
	}

html[data-hfny-theme="dark"] input[type="submit"][disabled],
html[data-hfny-theme="dark"] input[type="button"][disabled],
html[data-hfny-theme="blue"] input[type="submit"][disabled],
html[data-hfny-theme="blue"] input[type="button"][disabled] {
	background-color: var(--hfny-surface-alt);
	color: #999999;
	cursor: not-allowed;
}

/* DataTables Select — the checkbox column is drawn with pseudo-elements
   that are nearly invisible against a dark row. */

html[data-hfny-theme="dark"] table.dataTable td.select-checkbox:before,
html[data-hfny-theme="dark"] table.dataTable th.select-checkbox:before,
html[data-hfny-theme="blue"] table.dataTable td.select-checkbox:before,
html[data-hfny-theme="blue"] table.dataTable th.select-checkbox:before {
	border: 1px solid #8a8a8a;
	background-color: var(--hfny-field);
	border-radius: 3px;
	box-shadow: none;
}

html[data-hfny-theme="dark"] table.dataTable tr.selected td.select-checkbox:before,
html[data-hfny-theme="dark"] table.dataTable tr.selected th.select-checkbox:before,
html[data-hfny-theme="blue"] table.dataTable tr.selected td.select-checkbox:before,
html[data-hfny-theme="blue"] table.dataTable tr.selected th.select-checkbox:before {
	background-color: #007acc;
	border-color: #3794ff;
}

html[data-hfny-theme="dark"] table.dataTable td.select-checkbox:after,
html[data-hfny-theme="dark"] table.dataTable th.select-checkbox:after,
html[data-hfny-theme="blue"] table.dataTable td.select-checkbox:after,
html[data-hfny-theme="blue"] table.dataTable th.select-checkbox:after {
	color: #ffffff;
	text-shadow: none;
}

/* Real checkboxes / radios — accent-color handles the fill; only the
   ones sitting on dark table rows need extra edge definition. */

html[data-hfny-theme="dark"] input[type="checkbox"],
html[data-hfny-theme="dark"] input[type="radio"],
html[data-hfny-theme="blue"] input[type="checkbox"],
html[data-hfny-theme="blue"] input[type="radio"] {
	accent-color: #007acc;
}

html[data-hfny-theme="dark"] table.dataTable td input[type="checkbox"],
html[data-hfny-theme="dark"] .table td input[type="checkbox"],
html[data-hfny-theme="blue"] table.dataTable td input[type="checkbox"],
html[data-hfny-theme="blue"] .table td input[type="checkbox"] {
	outline: 1px solid #8a8a8a;
	outline-offset: 1px;
}

	html[data-hfny-theme="dark"] table.dataTable td input[type="checkbox"]:checked,
	html[data-hfny-theme="dark"] .table td input[type="checkbox"]:checked,
	html[data-hfny-theme="blue"] table.dataTable td input[type="checkbox"]:checked,
	html[data-hfny-theme="blue"] .table td input[type="checkbox"]:checked {
		outline-color: #3794ff;
	}

/* Status cells coloured inline (lightcoral / lightpink etc.) — retone the
   swatch for dark mode and keep the value readable. */

html[data-hfny-theme="dark"] td[style*="lightcoral"],
html[data-hfny-theme="blue"] td[style*="lightcoral"] {
	background-color: #8c3b3b !important;
	color: #ffffff !important;
	font-weight: 600;
}

html[data-hfny-theme="dark"] td[style*="lightpink"],
html[data-hfny-theme="blue"] td[style*="lightpink"] {
	background-color: #8a5560 !important;
	color: #ffffff !important;
	font-weight: 600;
}

html[data-hfny-theme="dark"] .table > tbody > tr:hover > td[style*="lightcoral"],
html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td[style*="lightcoral"],
html[data-hfny-theme="blue"] .table > tbody > tr:hover > td[style*="lightcoral"],
html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td[style*="lightcoral"] {
	background-color: #8c3b3b !important;
	color: #ffffff !important;
}

html[data-hfny-theme="dark"] .table > tbody > tr:hover > td[style*="lightpink"],
html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td[style*="lightpink"],
html[data-hfny-theme="blue"] .table > tbody > tr:hover > td[style*="lightpink"],
html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td[style*="lightpink"] {
	background-color: #8a5560 !important;
	color: #ffffff !important;
}

/* HFNY Performance Indicators dashboard */

html[data-hfny-theme="dark"] .hfny-dashboard,
html[data-hfny-theme="blue"] .hfny-dashboard {
	background-color: var(--hfny-bg);
	color: var(--hfny-text);
}

html[data-hfny-theme="dark"] .hfny-header,
html[data-hfny-theme="blue"] .hfny-header {
	background-color: var(--hfny-surface-alt);
	border-color: var(--hfny-border);
	color: #ffffff;
}

html[data-hfny-theme="dark"] .cycle-info-bar,
html[data-hfny-theme="blue"] .cycle-info-bar {
	background-color: var(--hfny-surface);
	border-color: var(--hfny-border);
	color: var(--hfny-text);
}

	html[data-hfny-theme="dark"] .cycle-info-bar h4,
	html[data-hfny-theme="dark"] .cycle-info-bar strong,
	html[data-hfny-theme="blue"] .cycle-info-bar h4,
	html[data-hfny-theme="blue"] .cycle-info-bar strong {
		color: #ffffff;
	}

	html[data-hfny-theme="dark"] .cycle-info-bar .text-muted,
	html[data-hfny-theme="blue"] .cycle-info-bar .text-muted {
		color: var(--hfny-text-muted);
	}

html[data-hfny-theme="dark"] .status-label,
html[data-hfny-theme="blue"] .status-label {
	color: var(--hfny-text-muted);
}

/* Progress steps */

html[data-hfny-theme="dark"] .status-steps .step,
html[data-hfny-theme="blue"] .status-steps .step {
	background-color: var(--hfny-surface-alt);
	border-color: var(--hfny-border);
	color: #8a8a8a;
}

	html[data-hfny-theme="dark"] .status-steps .step.completed,
	html[data-hfny-theme="blue"] .status-steps .step.completed {
		background-color: #1e4620;
		border-color: #326b35;
		color: #d7f3d8;
	}

		/* The completion checkmark badge hardcodes a white background in the
		   page stylesheet; raise specificity so this wins regardless of load
		   order. */
		html[data-hfny-theme="dark"] .status-steps .step.completed:after,
		html[data-hfny-theme="dark"] .status-steps div.step.completed:after,
		html[data-hfny-theme="blue"] .status-steps .step.completed:after,
		html[data-hfny-theme="blue"] .status-steps div.step.completed:after {
			background: #1e4620 !important;
			background-color: #1e4620 !important;
			color: #5cc85c !important;
		}

	html[data-hfny-theme="dark"] .status-steps .step.active,
	html[data-hfny-theme="blue"] .status-steps .step.active {
		background-color: #007acc;
		border-color: #3794ff;
		color: #ffffff;
		font-weight: 600;
	}

/* Tiles */

html[data-hfny-theme="dark"] .btn-tile,
html[data-hfny-theme="blue"] .btn-tile {
	background-color: var(--hfny-surface) !important;
	border: 1px solid var(--hfny-border) !important;
	color: var(--hfny-text) !important;
}

	html[data-hfny-theme="dark"] .btn-tile:hover,
	html[data-hfny-theme="dark"] .btn-tile:focus,
	html[data-hfny-theme="blue"] .btn-tile:hover,
	html[data-hfny-theme="blue"] .btn-tile:focus {
		background-color: var(--hfny-raised) !important;
		border-color: #007acc !important;
		color: #ffffff !important;
		text-decoration: none !important;
	}

	html[data-hfny-theme="dark"] .btn-tile .title,
	html[data-hfny-theme="blue"] .btn-tile .title {
		color: #ffffff;
	}

	html[data-hfny-theme="dark"] .btn-tile .subtitle,
	html[data-hfny-theme="blue"] .btn-tile .subtitle {
		color: var(--hfny-text-muted);
	}

	html[data-hfny-theme="dark"] .btn-tile i,
	html[data-hfny-theme="dark"] .btn-tile .fa,
	html[data-hfny-theme="blue"] .btn-tile i,
	html[data-hfny-theme="blue"] .btn-tile .fa {
		color: #4fc1ff;
	}

/* Developer instructions accordion */

html[data-hfny-theme="dark"] .dev-section,
html[data-hfny-theme="blue"] .dev-section {
	background-color: transparent;
	color: var(--hfny-text);
}

html[data-hfny-theme="dark"] .dev-accordion-toggle,
html[data-hfny-theme="blue"] .dev-accordion-toggle {
	background-color: var(--hfny-surface-alt);
	border-color: var(--hfny-border);
	color: var(--hfny-text) !important;
}

	html[data-hfny-theme="dark"] .dev-accordion-toggle:hover,
	html[data-hfny-theme="dark"] .dev-accordion-toggle:focus,
	html[data-hfny-theme="blue"] .dev-accordion-toggle:hover,
	html[data-hfny-theme="blue"] .dev-accordion-toggle:focus {
		background-color: var(--hfny-raised);
		color: #ffffff !important;
		text-decoration: none !important;
	}

/* The panel itself carries inline light styles, so override them */
html[data-hfny-theme="dark"] #fullDevSteps,
html[data-hfny-theme="blue"] #fullDevSteps {
	background: var(--hfny-surface) !important;
	border-color: var(--hfny-border) !important;
	color: var(--hfny-text);
}

html[data-hfny-theme="dark"] .instruction-group h4,
html[data-hfny-theme="blue"] .instruction-group h4 {
	color: #ffffff;
	border-bottom-color: var(--hfny-border);
}

html[data-hfny-theme="dark"] .instruction-list,
html[data-hfny-theme="dark"] .instruction-list li,
html[data-hfny-theme="blue"] .instruction-list,
html[data-hfny-theme="blue"] .instruction-list li {
	color: var(--hfny-text);
}

	html[data-hfny-theme="dark"] .instruction-list strong,
	html[data-hfny-theme="blue"] .instruction-list strong {
		color: #ffffff;
	}

html[data-hfny-theme="dark"] .legend-callout,
html[data-hfny-theme="blue"] .legend-callout {
	background-color: var(--hfny-surface-alt);
	border-color: var(--hfny-border);
	color: var(--hfny-text);
}

	/* Legend swatches are inline-coloured for a light background */
	html[data-hfny-theme="dark"] .legend-callout span[style*="color:green"],
	html[data-hfny-theme="dark"] .legend-callout span[style*="color: green"],
	html[data-hfny-theme="blue"] .legend-callout span[style*="color:green"],
	html[data-hfny-theme="blue"] .legend-callout span[style*="color: green"] {
		color: #7ec780 !important;
	}

	html[data-hfny-theme="dark"] .legend-callout span[style*="color:#d4a017"],
	html[data-hfny-theme="dark"] .legend-callout span[style*="color: #d4a017"],
	html[data-hfny-theme="blue"] .legend-callout span[style*="color:#d4a017"],
	html[data-hfny-theme="blue"] .legend-callout span[style*="color: #d4a017"] {
		color: #e0b451 !important;
	}

	html[data-hfny-theme="dark"] .legend-callout span[style*="color:red"],
	html[data-hfny-theme="dark"] .legend-callout span[style*="color: red"],
	html[data-hfny-theme="blue"] .legend-callout span[style*="color:red"],
	html[data-hfny-theme="blue"] .legend-callout span[style*="color: red"] {
		color: #e57a83 !important;
	}

/* Brand logo — the source PNG's teal (#008772) and magenta (#AD0075) are
   dark, saturated inks meant for a white plate; against the dark surfaces
   they sit at 3.9:1 and 2.5:1. The variant carries the same two hues
   (170.7deg and 319.4deg) lifted to 7.6:1 and 5.1:1, so the mark still
   reads as HFNY. Matched on src rather than id — the control is
   ASP.NET-prefixed (ctl00_..._imgLogo) and the logo appears on both the
   login page and the master page navbar.

   The test / training marks get the same treatment. Their plates were
   opaque white (the .jpg pair could not carry alpha, and the two "small"
   .png files shipped with a fully opaque alpha channel), so the variants
   are keyed to transparency as well as recoloured — otherwise they render
   as a white box on any dark surface. All variants are .png for that
   reason, including the two whose source is .jpg. The small marks use a
   different ink from the main logo (#9A378A, lifted to #E064CC), and the
   environment labels are remapped from black to #d4d4d4. */

html[data-hfny-theme="dark"] img[src$="MainLogo.png"],
html[data-hfny-theme="blue"] img[src$="MainLogo.png"] {
	content: url("../Images/MainLogo-dark.png");
}

html[data-hfny-theme="dark"] img[src$="MainLogoTest.jpg"],
html[data-hfny-theme="blue"] img[src$="MainLogoTest.jpg"] {
	content: url("../Images/MainLogoTest-dark.png");
}

html[data-hfny-theme="dark"] img[src$="MainLogoTraining.jpg"],
html[data-hfny-theme="blue"] img[src$="MainLogoTraining.jpg"] {
	content: url("../Images/MainLogoTraining-dark.png");
}

html[data-hfny-theme="dark"] img[src$="HFNYLogoTestSmall.png"],
html[data-hfny-theme="blue"] img[src$="HFNYLogoTestSmall.png"] {
	content: url("../Images/HFNYLogoTestSmall-dark.png");
}

html[data-hfny-theme="dark"] img[src$="HFNYTrainingLogoSmall.png"],
html[data-hfny-theme="blue"] img[src$="HFNYTrainingLogoSmall.png"] {
	content: url("../Images/HFNYTrainingLogoSmall-dark.png");
}

/* Print forces the light palette, but data-hfny-theme is still on
	   <html>, so the swaps have to be undone here or reports print the
	   lifted marks. */

@media print {

	html[data-hfny-theme="dark"] img[src$="MainLogo.png"],
	html[data-hfny-theme="blue"] img[src$="MainLogo.png"] {
		content: url("../Images/MainLogo.png");
	}

	html[data-hfny-theme="dark"] img[src$="MainLogoTest.jpg"],
	html[data-hfny-theme="blue"] img[src$="MainLogoTest.jpg"] {
		content: url("../Images/MainLogoTest.jpg");
	}

	html[data-hfny-theme="dark"] img[src$="MainLogoTraining.jpg"],
	html[data-hfny-theme="blue"] img[src$="MainLogoTraining.jpg"] {
		content: url("../Images/MainLogoTraining.jpg");
	}

	html[data-hfny-theme="dark"] img[src$="HFNYLogoTestSmall.png"],
	html[data-hfny-theme="blue"] img[src$="HFNYLogoTestSmall.png"] {
		content: url("../Images/HFNYLogoTestSmall.png");
	}

	html[data-hfny-theme="dark"] img[src$="HFNYTrainingLogoSmall.png"],
	html[data-hfny-theme="blue"] img[src$="HFNYTrainingLogoSmall.png"] {
		content: url("../Images/HFNYTrainingLogoSmall.png");
	}
}

/* Login page */

html[data-hfny-theme="dark"] .account-container,
html[data-hfny-theme="blue"] .account-container {
	background-color: var(--hfny-bg) !important;
	border: 1px solid var(--hfny-border) !important;
	border-radius: 6px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .55);
	color: var(--hfny-text) !important;
	max-width: 420px;
	margin: 40px auto;
	padding: 25px 20px;
	width: 100%;
	min-height: 0;
	height: auto;
	overflow: hidden;
}

html[data-hfny-theme="dark"] .form-signin,
html[data-hfny-theme="blue"] .form-signin {
	background-color: transparent !important;
	color: var(--hfny-text) !important;
}

html[data-hfny-theme="dark"] #Login1,
html[data-hfny-theme="dark"] #Login1 table,
html[data-hfny-theme="dark"] #Login1 td,
html[data-hfny-theme="blue"] #Login1,
html[data-hfny-theme="blue"] #Login1 table,
html[data-hfny-theme="blue"] #Login1 td {
	background-color: transparent !important;
	color: var(--hfny-text);
}

html[data-hfny-theme="dark"] #lblLoginText,
html[data-hfny-theme="blue"] #lblLoginText {
	color: #ffffff !important;
}

/* The login bundle sets these with `background: url(...) !important`,
	   so the shorthand is re-declared here. The icons are dark PNGs made
	   for a light plate, so they are drawn on an inverted pseudo-element
	   while the plate itself keeps a normal dark colour. */
html[data-hfny-theme="dark"] .input-group span.input-group-addon.username-field,
html[data-hfny-theme="dark"] .input-group span.input-group-addon.password-field,
html[data-hfny-theme="dark"] span.input-group-addon.username-field,
html[data-hfny-theme="dark"] span.input-group-addon.password-field,
html[data-hfny-theme="blue"] .input-group span.input-group-addon.username-field,
html[data-hfny-theme="blue"] .input-group span.input-group-addon.password-field,
html[data-hfny-theme="blue"] span.input-group-addon.username-field,
html[data-hfny-theme="blue"] span.input-group-addon.password-field {
	background: var(--hfny-raised) none !important;
	background-color: var(--hfny-raised) !important;
	background-image: none !important;
	border-color: var(--hfny-border-strong) !important;
	position: relative;
}

html[data-hfny-theme="dark"] .input-group-addon.username-field:after,
html[data-hfny-theme="dark"] .input-group-addon.password-field:after,
html[data-hfny-theme="blue"] .input-group-addon.username-field:after,
html[data-hfny-theme="blue"] .input-group-addon.password-field:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	transform: translate(-50%, -50%);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
}

/* Inline SVG replacements — the original PNGs are dark icons with a
		   baked-in background, so they cannot be recoloured for dark mode. */
html[data-hfny-theme="dark"] .input-group-addon.username-field:after,
html[data-hfny-theme="blue"] .input-group-addon.username-field:after {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23d4d4d4"><path d="M12 12c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm0 2c-3.34 0-10 1.67-10 5v3h20v-3c0-3.33-6.66-5-10-5z"/></svg>');
}

html[data-hfny-theme="dark"] .input-group-addon.password-field:after,
html[data-hfny-theme="blue"] .input-group-addon.password-field:after {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23d4d4d4"><path d="M12.65 10A5.99 5.99 0 0 0 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6a5.99 5.99 0 0 0 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"/></svg>');
}

/* Browser autofill repaints the field with its own light background */
html[data-hfny-theme="dark"] #Login1 .form-control.login:-webkit-autofill,
html[data-hfny-theme="dark"] #Login1 .form-control.login:-webkit-autofill:hover,
html[data-hfny-theme="dark"] #Login1 .form-control.login:-webkit-autofill:focus,
html[data-hfny-theme="dark"] input.form-control.login:-webkit-autofill,
html[data-hfny-theme="blue"] #Login1 .form-control.login:-webkit-autofill,
html[data-hfny-theme="blue"] #Login1 .form-control.login:-webkit-autofill:hover,
html[data-hfny-theme="blue"] #Login1 .form-control.login:-webkit-autofill:focus,
html[data-hfny-theme="blue"] input.form-control.login:-webkit-autofill {
	-webkit-text-fill-color: var(--hfny-text-field) !important;
	-webkit-box-shadow: 0 0 0 1000px var(--hfny-field) inset !important;
	box-shadow: 0 0 0 1000px var(--hfny-field) inset !important;
	caret-color: var(--hfny-text-field);
	transition: background-color 9999s ease-in-out 0s;
}

html[data-hfny-theme="dark"] #Login1 .form-control.login,
html[data-hfny-theme="dark"] input.form-control.login,
html[data-hfny-theme="blue"] #Login1 .form-control.login,
html[data-hfny-theme="blue"] input.form-control.login {
	background-color: var(--hfny-field) !important;
	border-color: var(--hfny-border-strong) !important;
	color: var(--hfny-text-field) !important;
}

	html[data-hfny-theme="dark"] #Login1 .form-control.login::placeholder,
	html[data-hfny-theme="blue"] #Login1 .form-control.login::placeholder {
		color: #999999 !important;
	}

	html[data-hfny-theme="dark"] #Login1 .form-control.login:focus,
	html[data-hfny-theme="blue"] #Login1 .form-control.login:focus {
		border-color: #007acc !important;
		box-shadow: 0 0 6px rgba(0, 122, 204, .6);
	}

/* Footer terms text is set to #777 inline */
html[data-hfny-theme="dark"] .ft1 span,
html[data-hfny-theme="blue"] .ft1 span {
	color: var(--hfny-text-muted) !important;
}

html[data-hfny-theme="dark"] .ft1 hr,
html[data-hfny-theme="blue"] .ft1 hr {
	border-top-color: var(--hfny-border);
}

/* Show/hide password toggle — the SVG strokes are hardcoded black */
html[data-hfny-theme="dark"] .showpassbtn,
html[data-hfny-theme="blue"] .showpassbtn {
	background-color: var(--hfny-raised);
	border: 1px solid var(--hfny-border-strong);
	border-left: 0;
	cursor: pointer;
}

	html[data-hfny-theme="dark"] .showpassbtn svg path,
	html[data-hfny-theme="blue"] .showpassbtn svg path {
		stroke: var(--hfny-text);
	}

	html[data-hfny-theme="dark"] .showpassbtn:hover svg path,
	html[data-hfny-theme="blue"] .showpassbtn:hover svg path {
		stroke: #ffffff;
	}

html[data-hfny-theme="dark"] #Login1 a,
html[data-hfny-theme="blue"] #Login1 a {
	color: #4fc1ff;
}

	html[data-hfny-theme="dark"] #Login1 a:hover,
	html[data-hfny-theme="dark"] #Login1 a:focus,
	html[data-hfny-theme="blue"] #Login1 a:hover,
	html[data-hfny-theme="blue"] #Login1 a:focus {
		color: #9cdcfe;
		text-decoration: underline;
	}

/* Validation / lockout messages are inline red — lighten for dark */
html[data-hfny-theme="dark"] #Login1 span[style*="color:Red"],
html[data-hfny-theme="dark"] #Login1 span[style*="color: Red"],
html[data-hfny-theme="dark"] #Login1 td[style*="color: Red"],
html[data-hfny-theme="dark"] #lblBrowserUnsupported,
html[data-hfny-theme="blue"] #Login1 span[style*="color:Red"],
html[data-hfny-theme="blue"] #Login1 span[style*="color: Red"],
html[data-hfny-theme="blue"] #Login1 td[style*="color: Red"],
html[data-hfny-theme="blue"] #lblBrowserUnsupported {
	color: #e57a83 !important;
}

/* Report catalog filter / column labels — the active one is marked with
   an inline font-weight, so reinforce it with colour too. */

html[data-hfny-theme="dark"] #divReportCatalogHeader .FilterLabel,
html[data-hfny-theme="dark"] #divReportCatalogHeader .ColumnLabel,
html[data-hfny-theme="blue"] #divReportCatalogHeader .FilterLabel,
html[data-hfny-theme="blue"] #divReportCatalogHeader .ColumnLabel {
	color: #ffffff;
	cursor: pointer;
}

	html[data-hfny-theme="dark"] #divReportCatalogHeader .FilterLabel:hover,
	html[data-hfny-theme="dark"] #divReportCatalogHeader .ColumnLabel:hover,
	html[data-hfny-theme="blue"] #divReportCatalogHeader .FilterLabel:hover,
	html[data-hfny-theme="blue"] #divReportCatalogHeader .ColumnLabel:hover {
		color: #ffffff;
		text-decoration: underline;
	}

	html[data-hfny-theme="dark"] #divReportCatalogHeader .FilterLabel[style*="bold"],
	html[data-hfny-theme="dark"] #divReportCatalogHeader .ColumnLabel[style*="bold"],
	html[data-hfny-theme="blue"] #divReportCatalogHeader .FilterLabel[style*="bold"],
	html[data-hfny-theme="blue"] #divReportCatalogHeader .ColumnLabel[style*="bold"] {
		color: #ffffff !important;
		text-decoration: underline;
	}

/* Report catalog — the selected report row is marked with an inline
   font-weight; brighten the text so the bold reads clearly on dark. */

html[data-hfny-theme="dark"] #mainTable > tbody > tr[style*="bold"] > td,
html[data-hfny-theme="blue"] #mainTable > tbody > tr[style*="bold"] > td {
	color: #ffffff !important;
}

/* Hover still wins — the pale highlight needs dark text */
html[data-hfny-theme="dark"] #mainTable > tbody > tr[style*="bold"]:hover > td,
html[data-hfny-theme="dark"] #mainTable > tbody > tr[style*="bold"]:hover > td span:not(.glyphicon),
html[data-hfny-theme="blue"] #mainTable > tbody > tr[style*="bold"]:hover > td,
html[data-hfny-theme="blue"] #mainTable > tbody > tr[style*="bold"]:hover > td span:not(.glyphicon) {
	color: #000000 !important;
}

/* Report catalog — make the info / documentation icons read as clickable */

html[data-hfny-theme="dark"] .viewReportDoc,
html[data-hfny-theme="dark"] .viewReportDoc:visited,
html[data-hfny-theme="dark"] a.moreInfo.btn-xs,
html[data-hfny-theme="dark"] a.moreInfo.btn-xs:visited,
html[data-hfny-theme="blue"] .viewReportDoc,
html[data-hfny-theme="blue"] .viewReportDoc:visited,
html[data-hfny-theme="blue"] a.moreInfo.btn-xs,
html[data-hfny-theme="blue"] a.moreInfo.btn-xs:visited {
	color: #4fc1ff !important;
	cursor: pointer;
}

	html[data-hfny-theme="dark"] .viewReportDoc .glyphicon,
	html[data-hfny-theme="dark"] a.moreInfo.btn-xs .glyphicon,
	html[data-hfny-theme="blue"] .viewReportDoc .glyphicon,
	html[data-hfny-theme="blue"] a.moreInfo.btn-xs .glyphicon {
		color: #4fc1ff !important;
	}

	html[data-hfny-theme="dark"] .viewReportDoc:hover,
	html[data-hfny-theme="dark"] .viewReportDoc:focus,
	html[data-hfny-theme="dark"] a.moreInfo.btn-xs:hover,
	html[data-hfny-theme="dark"] a.moreInfo.btn-xs:focus,
	html[data-hfny-theme="blue"] .viewReportDoc:hover,
	html[data-hfny-theme="blue"] .viewReportDoc:focus,
	html[data-hfny-theme="blue"] a.moreInfo.btn-xs:hover,
	html[data-hfny-theme="blue"] a.moreInfo.btn-xs:focus {
		color: #9cdcfe !important;
	}

		html[data-hfny-theme="dark"] .viewReportDoc:hover .glyphicon,
		html[data-hfny-theme="dark"] .viewReportDoc:focus .glyphicon,
		html[data-hfny-theme="dark"] a.moreInfo.btn-xs:hover .glyphicon,
		html[data-hfny-theme="dark"] a.moreInfo.btn-xs:focus .glyphicon,
		html[data-hfny-theme="blue"] .viewReportDoc:hover .glyphicon,
		html[data-hfny-theme="blue"] .viewReportDoc:focus .glyphicon,
		html[data-hfny-theme="blue"] a.moreInfo.btn-xs:hover .glyphicon,
		html[data-hfny-theme="blue"] a.moreInfo.btn-xs:focus .glyphicon {
			color: #9cdcfe !important;
		}

/* Keep them visible on the pale hovered row */
html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td .viewReportDoc .glyphicon,
html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td a.moreInfo.btn-xs .glyphicon,
html[data-hfny-theme="dark"] .table > tbody > tr:hover > td .viewReportDoc .glyphicon,
html[data-hfny-theme="dark"] .table > tbody > tr:hover > td a.moreInfo.btn-xs .glyphicon,
html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td .viewReportDoc .glyphicon,
html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td a.moreInfo.btn-xs .glyphicon,
html[data-hfny-theme="blue"] .table > tbody > tr:hover > td .viewReportDoc .glyphicon,
html[data-hfny-theme="blue"] .table > tbody > tr:hover > td a.moreInfo.btn-xs .glyphicon {
	color: #0a3d62 !important;
}

/* Transient "this value was just replaced" flash */

html[data-hfny-theme="dark"] .highlight-replacement,
html[data-hfny-theme="blue"] .highlight-replacement {
	background-color: #5c4a1a !important;
	color: #f9e7b0 !important;
	transition: background-color 1s ease;
}

/* FROG domain indicator icons — inline-styled black in the markup */

html[data-hfny-theme="dark"] .spanFrogIcon,
html[data-hfny-theme="dark"] .spanFrogIcon[style*="color: black"],
html[data-hfny-theme="dark"] .spanFrogIcon[style*="color:black"],
html[data-hfny-theme="blue"] .spanFrogIcon,
html[data-hfny-theme="blue"] .spanFrogIcon[style*="color: black"],
html[data-hfny-theme="blue"] .spanFrogIcon[style*="color:black"] {
	color: #ffffff !important;
}

/* Dictation controls (narrative fields) */

html[data-hfny-theme="dark"] .dictation-controls,
html[data-hfny-theme="blue"] .dictation-controls {
	background-color: var(--hfny-surface) !important;
	border-color: var(--hfny-border);
	color: var(--hfny-text);
}

	html[data-hfny-theme="dark"] .dictation-controls > div,
	html[data-hfny-theme="blue"] .dictation-controls > div {
		background-color: transparent !important;
	}

html[data-hfny-theme="dark"] .language-selector .btn-default,
html[data-hfny-theme="blue"] .language-selector .btn-default {
	background-color: var(--hfny-raised);
	border-color: #5a5a5f;
	color: var(--hfny-text);
}

	html[data-hfny-theme="dark"] .language-selector .btn-default:hover,
	html[data-hfny-theme="dark"] .language-selector .btn-default:focus,
	html[data-hfny-theme="blue"] .language-selector .btn-default:hover,
	html[data-hfny-theme="blue"] .language-selector .btn-default:focus {
		background-color: var(--hfny-raised-hover);
		border-color: #777777;
		color: #ffffff;
	}

	html[data-hfny-theme="dark"] .language-selector .btn-default.active,
	html[data-hfny-theme="blue"] .language-selector .btn-default.active {
		background-color: #007acc;
		border-color: #3794ff;
		color: #ffffff;
		font-weight: 600;
	}

html[data-hfny-theme="dark"] .language-indicator,
html[data-hfny-theme="dark"] .dictation-controls .text-info,
html[data-hfny-theme="blue"] .language-indicator,
html[data-hfny-theme="blue"] .dictation-controls .text-info {
	color: #9cdcfe !important;
}

html[data-hfny-theme="dark"] .waveform-bar,
html[data-hfny-theme="blue"] .waveform-bar {
	background-color: #4fc1ff;
}

html[data-hfny-theme="dark"] .btn-stop-dictate,
html[data-hfny-theme="blue"] .btn-stop-dictate {
	background-color: #a3343d;
	border-color: #bd3f49;
	color: #ffffff;
}

	html[data-hfny-theme="dark"] .btn-stop-dictate:hover,
	html[data-hfny-theme="dark"] .btn-stop-dictate:focus,
	html[data-hfny-theme="blue"] .btn-stop-dictate:hover,
	html[data-hfny-theme="blue"] .btn-stop-dictate:focus {
		background-color: #c0444f;
		border-color: #d5525d;
		color: #ffffff;
	}

	html[data-hfny-theme="dark"] .btn-stop-dictate.recording,
	html[data-hfny-theme="blue"] .btn-stop-dictate.recording {
		background-color: #c0444f;
		border-color: #e06b76;
		box-shadow: 0 0 0 2px rgba(224, 107, 118, .35);
		color: #ffffff;
	}

/* Section dividers — heading text with a rule */

html[data-hfny-theme="dark"] .section-divider,
html[data-hfny-theme="blue"] .section-divider {
	border-color: var(--hfny-border);
	border-bottom-color: var(--hfny-border);
	border-top-color: var(--hfny-border);
	color: #ffffff;
}

/* Legend swatches use the light-theme contextual colours inline —
   remap them so the key matches the rows it describes. */

html[data-hfny-theme="dark"] .legend-item div[style*="#dff0d8"],
html[data-hfny-theme="blue"] .legend-item div[style*="#dff0d8"] {
	background-color: #1e4620 !important;
	border-color: #326b35 !important;
}

html[data-hfny-theme="dark"] .legend-item div[style*="#fcf8e3"],
html[data-hfny-theme="blue"] .legend-item div[style*="#fcf8e3"] {
	background-color: #4d3b16 !important;
	border-color: #755b23 !important;
}

html[data-hfny-theme="dark"] .legend-item div[style*="#f2dede"],
html[data-hfny-theme="blue"] .legend-item div[style*="#f2dede"] {
	background-color: #4b1f24 !important;
	border-color: #76333b !important;
}

html[data-hfny-theme="dark"] .legend-item div[style*="#d9edf7"],
html[data-hfny-theme="blue"] .legend-item div[style*="#d9edf7"] {
	background-color: #1f3a46 !important;
	border-color: #315767 !important;
}

html[data-hfny-theme="dark"] .legend-container,
html[data-hfny-theme="dark"] .legend-item span,
html[data-hfny-theme="blue"] .legend-container,
html[data-hfny-theme="blue"] .legend-item span {
	color: var(--hfny-text);
}

/* Report date-range labels */

html[data-hfny-theme="dark"] .date-range,
html[data-hfny-theme="blue"] .date-range {
	color: #9cdcfe !important;
}

/* Inline grid editing — bare inputs/selects with no .form-control class */

html[data-hfny-theme="dark"] .table td input[type="text"],
html[data-hfny-theme="dark"] .table td input[type="number"],
html[data-hfny-theme="dark"] .table td input[type="email"],
html[data-hfny-theme="dark"] .table td input[type="tel"],
html[data-hfny-theme="dark"] .table td input[type="search"],
html[data-hfny-theme="dark"] .table td input[type="password"],
html[data-hfny-theme="dark"] .table td textarea,
html[data-hfny-theme="dark"] .table td select,
html[data-hfny-theme="blue"] .table td input[type="text"],
html[data-hfny-theme="blue"] .table td input[type="number"],
html[data-hfny-theme="blue"] .table td input[type="email"],
html[data-hfny-theme="blue"] .table td input[type="tel"],
html[data-hfny-theme="blue"] .table td input[type="search"],
html[data-hfny-theme="blue"] .table td input[type="password"],
html[data-hfny-theme="blue"] .table td textarea,
html[data-hfny-theme="blue"] .table td select {
	background-color: var(--hfny-field);
	border: 1px solid var(--hfny-border-strong);
	color: var(--hfny-text-field);
}

	html[data-hfny-theme="dark"] .table td input[type="text"]:focus,
	html[data-hfny-theme="dark"] .table td textarea:focus,
	html[data-hfny-theme="dark"] .table td select:focus,
	html[data-hfny-theme="blue"] .table td input[type="text"]:focus,
	html[data-hfny-theme="blue"] .table td textarea:focus,
	html[data-hfny-theme="blue"] .table td select:focus {
		border-color: #007acc;
		box-shadow: 0 0 6px rgba(0, 122, 204, .6);
		outline: none;
	}

html[data-hfny-theme="dark"] .table td input[disabled],
html[data-hfny-theme="dark"] .table td input[readonly],
html[data-hfny-theme="blue"] .table td input[disabled],
html[data-hfny-theme="blue"] .table td input[readonly] {
	background-color: var(--hfny-surface-alt);
	color: #999999;
}

/* Inputs keep their own dark surface + light text when the row is hovered */
html[data-hfny-theme="dark"] .table > tbody > tr:hover > td input[type="text"],
html[data-hfny-theme="dark"] .table > tbody > tr:hover > td input[type="number"],
html[data-hfny-theme="dark"] .table > tbody > tr:hover > td input[type="search"],
html[data-hfny-theme="dark"] .table > tbody > tr:hover > td textarea,
html[data-hfny-theme="dark"] .table > tbody > tr:hover > td select,
html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td input[type="text"],
html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td textarea,
html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td select,
html[data-hfny-theme="blue"] .table > tbody > tr:hover > td input[type="text"],
html[data-hfny-theme="blue"] .table > tbody > tr:hover > td input[type="number"],
html[data-hfny-theme="blue"] .table > tbody > tr:hover > td input[type="search"],
html[data-hfny-theme="blue"] .table > tbody > tr:hover > td textarea,
html[data-hfny-theme="blue"] .table > tbody > tr:hover > td select,
html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td input[type="text"],
html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td textarea,
html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td select {
	background-color: var(--hfny-field) !important;
	border-color: var(--hfny-border-strong) !important;
	color: var(--hfny-text-field) !important;
}

/* DataTables */

html[data-hfny-theme="dark"] .dataTables_wrapper,
html[data-hfny-theme="blue"] .dataTables_wrapper {
	background-color: transparent;
	color: var(--hfny-text);
}

	html[data-hfny-theme="dark"] .dataTables_wrapper .dataTables_info,
	html[data-hfny-theme="dark"] .dataTables_wrapper .dataTables_length,
	html[data-hfny-theme="dark"] .dataTables_wrapper .dataTables_filter,
	html[data-hfny-theme="blue"] .dataTables_wrapper .dataTables_info,
	html[data-hfny-theme="blue"] .dataTables_wrapper .dataTables_length,
	html[data-hfny-theme="blue"] .dataTables_wrapper .dataTables_filter {
		color: var(--hfny-text);
	}

/* DataTables inside a panel body sometimes inherits a white surface —
   pin the table and its rows to the dark palette. */

html[data-hfny-theme="dark"] table.dataTable,
html[data-hfny-theme="dark"] table.dataTable > tbody,
html[data-hfny-theme="dark"] table.dataTable > tbody > tr,
html[data-hfny-theme="blue"] table.dataTable,
html[data-hfny-theme="blue"] table.dataTable > tbody,
html[data-hfny-theme="blue"] table.dataTable > tbody > tr {
	background-color: var(--hfny-surface);
	color: var(--hfny-text);
}

	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.odd,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.odd > td,
	html[data-hfny-theme="dark"] table.dataTable.table-striped > tbody > tr.odd,
	html[data-hfny-theme="dark"] table.dataTable.table-striped > tbody > tr.odd > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.odd,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.odd > td,
	html[data-hfny-theme="blue"] table.dataTable.table-striped > tbody > tr.odd,
	html[data-hfny-theme="blue"] table.dataTable.table-striped > tbody > tr.odd > td {
		background-color: var(--hfny-surface);
		color: var(--hfny-text);
	}

	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.even,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.even > td,
	html[data-hfny-theme="dark"] table.dataTable.table-striped > tbody > tr.even,
	html[data-hfny-theme="dark"] table.dataTable.table-striped > tbody > tr.even > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.even,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.even > td,
	html[data-hfny-theme="blue"] table.dataTable.table-striped > tbody > tr.even,
	html[data-hfny-theme="blue"] table.dataTable.table-striped > tbody > tr.even > td {
		background-color: var(--hfny-surface-alt);
		color: var(--hfny-text);
	}

	html[data-hfny-theme="dark"] table.dataTable > tbody > tr > td strong,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr > td b,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr > td strong,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr > td b {
		color: var(--hfny-text-field);
	}

	html[data-hfny-theme="dark"] table.dataTable > tbody > tr > td small,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr > td .text-muted,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr > td small,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr > td .text-muted {
		color: var(--hfny-text-muted);
	}

	/* Hover wins over the row text colours above */
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td strong,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td b,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td small,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td .text-muted,
	html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td strong,
	html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td small,
	html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td .text-muted,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td strong,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td b,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td small,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td .text-muted,
	html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td strong,
	html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td small,
	html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td .text-muted {
		color: #000000 !important;
	}

	/* Labels and badges keep their own surface + white text on hover */
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td span.label,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td span.badge,
	html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td span.label,
	html[data-hfny-theme="dark"] .table-hover > tbody > tr:hover > td span.badge,
	html[data-hfny-theme="dark"] .table > tbody > tr:hover > td span.label,
	html[data-hfny-theme="dark"] .table > tbody > tr:hover > td span.badge,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td .label.label-default,
	html[data-hfny-theme="dark"] .table > tbody > tr:hover > td .label.label-default,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr:hover > td .badge.duplicate-usage-badge,
	html[data-hfny-theme="dark"] .table > tbody > tr:hover > td .badge.duplicate-usage-badge,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td span.label,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td span.badge,
	html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td span.label,
	html[data-hfny-theme="blue"] .table-hover > tbody > tr:hover > td span.badge,
	html[data-hfny-theme="blue"] .table > tbody > tr:hover > td span.label,
	html[data-hfny-theme="blue"] .table > tbody > tr:hover > td span.badge,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td .label.label-default,
	html[data-hfny-theme="blue"] .table > tbody > tr:hover > td .label.label-default,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr:hover > td .badge.duplicate-usage-badge,
	html[data-hfny-theme="blue"] .table > tbody > tr:hover > td .badge.duplicate-usage-badge {
		background-color: var(--hfny-border-strong) !important;
		color: #ffffff !important;
	}

	/* Contextual row states must beat the DataTables .odd / .even colours
   above, so they are declared here with matching specificity. */

	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.success,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.success > td,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.success.odd > td,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.success.even > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.success,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.success > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.success.odd > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.success.even > td {
		background-color: #1e4620 !important;
		color: #d7f3d8 !important;
	}

	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.warning,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.warning > td,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.warning.odd > td,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.warning.even > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.warning,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.warning > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.warning.odd > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.warning.even > td {
		background-color: #4d3b16 !important;
		color: #f9e7b0 !important;
	}

	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.danger,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.danger > td,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.danger.odd > td,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.danger.even > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.danger,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.danger > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.danger.odd > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.danger.even > td {
		background-color: #4b1f24 !important;
		color: #f5c6cb !important;
	}

	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.info,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.info > td,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.info.odd > td,
	html[data-hfny-theme="dark"] table.dataTable > tbody > tr.info.even > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.info,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.info > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.info.odd > td,
	html[data-hfny-theme="blue"] table.dataTable > tbody > tr.info.even > td {
		background-color: #1f3a46 !important;
		color: #d4eaf3 !important;
	}

		html[data-hfny-theme="dark"] table.dataTable > tbody > tr.success > td span,
		html[data-hfny-theme="dark"] table.dataTable > tbody > tr.warning > td span,
		html[data-hfny-theme="dark"] table.dataTable > tbody > tr.danger > td span,
		html[data-hfny-theme="dark"] table.dataTable > tbody > tr.info > td span,
		html[data-hfny-theme="blue"] table.dataTable > tbody > tr.success > td span,
		html[data-hfny-theme="blue"] table.dataTable > tbody > tr.warning > td span,
		html[data-hfny-theme="blue"] table.dataTable > tbody > tr.danger > td span,
		html[data-hfny-theme="blue"] table.dataTable > tbody > tr.info > td span {
			color: inherit;
		}

/* Bootstrap date picker */

html[data-hfny-theme="dark"] .datepicker,
html[data-hfny-theme="dark"] .bootstrap-datetimepicker-widget,
html[data-hfny-theme="blue"] .datepicker,
html[data-hfny-theme="blue"] .bootstrap-datetimepicker-widget {
	background-color: var(--hfny-surface);
	color: var(--hfny-text);
}

	html[data-hfny-theme="dark"] .datepicker table tr td:hover,
	html[data-hfny-theme="dark"] .datepicker table tr th:hover,
	html[data-hfny-theme="dark"] .bootstrap-datetimepicker-widget table td span:hover,
	html[data-hfny-theme="dark"] .bootstrap-datetimepicker-widget table th:hover,
	html[data-hfny-theme="blue"] .datepicker table tr td:hover,
	html[data-hfny-theme="blue"] .datepicker table tr th:hover,
	html[data-hfny-theme="blue"] .bootstrap-datetimepicker-widget table td span:hover,
	html[data-hfny-theme="blue"] .bootstrap-datetimepicker-widget table th:hover {
		background-color: var(--hfny-raised);
	}

	html[data-hfny-theme="dark"] .datepicker table tr td.active,
	html[data-hfny-theme="dark"] .bootstrap-datetimepicker-widget table td.active,
	html[data-hfny-theme="blue"] .datepicker table tr td.active,
	html[data-hfny-theme="blue"] .bootstrap-datetimepicker-widget table td.active {
		background-color: #007acc;
		color: #ffffff;
	}

/* Footer */

html[data-hfny-theme="dark"] .site-footer,
html[data-hfny-theme="blue"] .site-footer {
	color: #b7b7b7;
}

/* Informational panels */

html[data-hfny-theme="dark"] .alert-info,
html[data-hfny-theme="dark"] .bg-info,
html[data-hfny-theme="blue"] .alert-info,
html[data-hfny-theme="blue"] .bg-info {
	background-color: #1f3a46;
	border-color: #315767;
	color: #d4eaf3;
}

	html[data-hfny-theme="dark"] .alert-info a,
	html[data-hfny-theme="dark"] .bg-info a,
	html[data-hfny-theme="blue"] .alert-info a,
	html[data-hfny-theme="blue"] .bg-info a {
		color: #9cdcfe;
	}

	html[data-hfny-theme="dark"] .alert-info label,
	html[data-hfny-theme="dark"] .bg-info label,
	html[data-hfny-theme="blue"] .alert-info label,
	html[data-hfny-theme="blue"] .bg-info label {
		color: #d4eaf3;
	}

html[data-hfny-theme="dark"] .alert-success,
html[data-hfny-theme="blue"] .alert-success {
	background-color: #1e4620;
	border-color: #326b35;
	color: #d7f3d8;
}

html[data-hfny-theme="dark"] .alert-warning,
html[data-hfny-theme="blue"] .alert-warning {
	background-color: #4d3b16;
	border-color: #755b23;
	color: #f9e7b0;
}

html[data-hfny-theme="dark"] .alert-danger,
html[data-hfny-theme="blue"] .alert-danger {
	background-color: #4b1f24;
	border-color: #76333b;
	color: #f5c6cb;
}

/* Bootstrap buttons */

/* Default */

html[data-hfny-theme="dark"] .btn-default,
html[data-hfny-theme="blue"] .btn-default {
	background-color: var(--hfny-raised);
	border-color: #5a5a5f;
	color: var(--hfny-text-field);
}

	html[data-hfny-theme="dark"] .btn-default:hover,
	html[data-hfny-theme="dark"] .btn-default:focus,
	html[data-hfny-theme="dark"] .btn-default.focus,
	html[data-hfny-theme="dark"] .btn-default:active,
	html[data-hfny-theme="dark"] .btn-default.active,
	html[data-hfny-theme="dark"] .open > .dropdown-toggle.btn-default,
	html[data-hfny-theme="blue"] .btn-default:hover,
	html[data-hfny-theme="blue"] .btn-default:focus,
	html[data-hfny-theme="blue"] .btn-default.focus,
	html[data-hfny-theme="blue"] .btn-default:active,
	html[data-hfny-theme="blue"] .btn-default.active,
	html[data-hfny-theme="blue"] .open > .dropdown-toggle.btn-default {
		background-color: var(--hfny-raised-hover);
		border-color: #777777;
		color: #ffffff;
	}

/* Primary */

html[data-hfny-theme="dark"] .btn-primary,
html[data-hfny-theme="blue"] .btn-primary {
	background-color: #007acc;
	border-color: #007acc;
	color: #ffffff;
}

	html[data-hfny-theme="dark"] .btn-primary:hover,
	html[data-hfny-theme="dark"] .btn-primary:focus,
	html[data-hfny-theme="dark"] .btn-primary.focus,
	html[data-hfny-theme="dark"] .btn-primary:active,
	html[data-hfny-theme="dark"] .btn-primary.active,
	html[data-hfny-theme="dark"] .open > .dropdown-toggle.btn-primary,
	html[data-hfny-theme="blue"] .btn-primary:hover,
	html[data-hfny-theme="blue"] .btn-primary:focus,
	html[data-hfny-theme="blue"] .btn-primary.focus,
	html[data-hfny-theme="blue"] .btn-primary:active,
	html[data-hfny-theme="blue"] .btn-primary.active,
	html[data-hfny-theme="blue"] .open > .dropdown-toggle.btn-primary {
		background-color: #1c97ea;
		border-color: #1c97ea;
		color: #ffffff;
	}

/* Success */

html[data-hfny-theme="dark"] .btn-success,
html[data-hfny-theme="blue"] .btn-success {
	background-color: #39733c;
	border-color: #4a8b4e;
	color: #ffffff;
}

	html[data-hfny-theme="dark"] .btn-success:hover,
	html[data-hfny-theme="dark"] .btn-success:focus,
	html[data-hfny-theme="dark"] .btn-success.focus,
	html[data-hfny-theme="dark"] .btn-success:active,
	html[data-hfny-theme="dark"] .btn-success.active,
	html[data-hfny-theme="dark"] .open > .dropdown-toggle.btn-success,
	html[data-hfny-theme="blue"] .btn-success:hover,
	html[data-hfny-theme="blue"] .btn-success:focus,
	html[data-hfny-theme="blue"] .btn-success.focus,
	html[data-hfny-theme="blue"] .btn-success:active,
	html[data-hfny-theme="blue"] .btn-success.active,
	html[data-hfny-theme="blue"] .open > .dropdown-toggle.btn-success {
		background-color: #4b8f4f;
		border-color: #5ca761;
		color: #ffffff;
	}

/* Info */

html[data-hfny-theme="dark"] .btn-info,
html[data-hfny-theme="blue"] .btn-info {
	background-color: #26758f;
	border-color: #348ba6;
	color: #ffffff;
}

	html[data-hfny-theme="dark"] .btn-info:hover,
	html[data-hfny-theme="dark"] .btn-info:focus,
	html[data-hfny-theme="dark"] .btn-info.focus,
	html[data-hfny-theme="dark"] .btn-info:active,
	html[data-hfny-theme="dark"] .btn-info.active,
	html[data-hfny-theme="dark"] .open > .dropdown-toggle.btn-info,
	html[data-hfny-theme="blue"] .btn-info:hover,
	html[data-hfny-theme="blue"] .btn-info:focus,
	html[data-hfny-theme="blue"] .btn-info.focus,
	html[data-hfny-theme="blue"] .btn-info:active,
	html[data-hfny-theme="blue"] .btn-info.active,
	html[data-hfny-theme="blue"] .open > .dropdown-toggle.btn-info {
		background-color: #328da9;
		border-color: #45a1bd;
		color: #ffffff;
	}

/* Warning */

html[data-hfny-theme="dark"] .btn-warning,
html[data-hfny-theme="blue"] .btn-warning {
	background-color: #a66d16;
	border-color: #bc7d1d;
	color: #ffffff;
}

	html[data-hfny-theme="dark"] .btn-warning:hover,
	html[data-hfny-theme="dark"] .btn-warning:focus,
	html[data-hfny-theme="dark"] .btn-warning.focus,
	html[data-hfny-theme="dark"] .btn-warning:active,
	html[data-hfny-theme="dark"] .btn-warning.active,
	html[data-hfny-theme="dark"] .open > .dropdown-toggle.btn-warning,
	html[data-hfny-theme="blue"] .btn-warning:hover,
	html[data-hfny-theme="blue"] .btn-warning:focus,
	html[data-hfny-theme="blue"] .btn-warning.focus,
	html[data-hfny-theme="blue"] .btn-warning:active,
	html[data-hfny-theme="blue"] .btn-warning.active,
	html[data-hfny-theme="blue"] .open > .dropdown-toggle.btn-warning {
		background-color: #c18120;
		border-color: #d7942b;
		color: #ffffff;
	}

/* Danger */

html[data-hfny-theme="dark"] .btn-danger,
html[data-hfny-theme="blue"] .btn-danger {
	background-color: #a3343d;
	border-color: #bd3f49;
	color: #ffffff;
}

	html[data-hfny-theme="dark"] .btn-danger:hover,
	html[data-hfny-theme="dark"] .btn-danger:focus,
	html[data-hfny-theme="dark"] .btn-danger.focus,
	html[data-hfny-theme="dark"] .btn-danger:active,
	html[data-hfny-theme="dark"] .btn-danger.active,
	html[data-hfny-theme="dark"] .open > .dropdown-toggle.btn-danger,
	html[data-hfny-theme="blue"] .btn-danger:hover,
	html[data-hfny-theme="blue"] .btn-danger:focus,
	html[data-hfny-theme="blue"] .btn-danger.focus,
	html[data-hfny-theme="blue"] .btn-danger:active,
	html[data-hfny-theme="blue"] .btn-danger.active,
	html[data-hfny-theme="blue"] .open > .dropdown-toggle.btn-danger {
		background-color: #c0444f;
		border-color: #d5525d;
		color: #ffffff;
	}

/* Link */

html[data-hfny-theme="dark"] .btn-link,
html[data-hfny-theme="blue"] .btn-link {
	color: #4fc1ff;
}

	html[data-hfny-theme="dark"] .btn-link:hover,
	html[data-hfny-theme="dark"] .btn-link:focus,
	html[data-hfny-theme="blue"] .btn-link:hover,
	html[data-hfny-theme="blue"] .btn-link:focus {
		color: #9cdcfe;
	}

/* Inline "[More Info]" style link-buttons — these carry both .btn-link
   and .custom-btn-link. Keep the bordered box in both themes; only the
   surface and text colors change. */

.basic-info-x,
a.basic-info-x,
a.basic-info-x:visited,
.custom-btn-link.basic-info-x {
	display: inline;
	color: #0033cc;
}

/* "Not in List" link-buttons — add the class .not-in-list to these
   buttons in the markup. Boxed like [More Info] in both themes. */

.not-in-list {
	border: 1px solid lightgray;
	border-radius: 4px;
	color: #0033cc;
}

html[data-hfny-theme="dark"] .not-in-list,
html[data-hfny-theme="dark"] .not-in-list:visited,
html[data-hfny-theme="blue"] .not-in-list,
html[data-hfny-theme="blue"] .not-in-list:visited {
	background-color: var(--hfny-surface-alt);
	border: 1px solid var(--hfny-border-strong);
	color: #4fc1ff !important;
}

	html[data-hfny-theme="dark"] .not-in-list:hover,
	html[data-hfny-theme="dark"] .not-in-list:focus,
	html[data-hfny-theme="blue"] .not-in-list:hover,
	html[data-hfny-theme="blue"] .not-in-list:focus {
		background-color: var(--hfny-raised);
		border-color: #777777;
		color: #9cdcfe !important;
		text-decoration: underline;
	}

html[data-hfny-theme="dark"] .basic-info-x,
html[data-hfny-theme="dark"] .basic-info-x:visited,
html[data-hfny-theme="dark"] a.basic-info-x,
html[data-hfny-theme="dark"] a.basic-info-x:visited,
html[data-hfny-theme="blue"] .basic-info-x,
html[data-hfny-theme="blue"] .basic-info-x:visited,
html[data-hfny-theme="blue"] a.basic-info-x,
html[data-hfny-theme="blue"] a.basic-info-x:visited {
	background-color: var(--hfny-surface-alt);
	border: 1px solid var(--hfny-border-strong);
	color: #4fc1ff !important;
}

	html[data-hfny-theme="dark"] .basic-info-x:hover,
	html[data-hfny-theme="dark"] .basic-info-x:focus,
	html[data-hfny-theme="dark"] a.basic-info-x:hover,
	html[data-hfny-theme="dark"] a.basic-info-x:focus,
	html[data-hfny-theme="blue"] .basic-info-x:hover,
	html[data-hfny-theme="blue"] .basic-info-x:focus,
	html[data-hfny-theme="blue"] a.basic-info-x:hover,
	html[data-hfny-theme="blue"] a.basic-info-x:focus {
		background-color: var(--hfny-raised);
		border-color: #777777;
		color: #9cdcfe !important;
		text-decoration: underline;
	}

/* Disabled */

html[data-hfny-theme="dark"] .btn.disabled,
html[data-hfny-theme="dark"] .btn[disabled],
html[data-hfny-theme="dark"] fieldset[disabled] .btn,
html[data-hfny-theme="blue"] .btn.disabled,
html[data-hfny-theme="blue"] .btn[disabled],
html[data-hfny-theme="blue"] fieldset[disabled] .btn {
	cursor: not-allowed;
	opacity: .5;
}

/* Selected buttons in button groups */

html[data-hfny-theme="dark"] .btn-group > .btn.active,
html[data-hfny-theme="dark"] .btn-group > .btn:active,
html[data-hfny-theme="blue"] .btn-group > .btn.active,
html[data-hfny-theme="blue"] .btn-group > .btn:active {
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, .45);
}

/* Keyboard focus indicator */

html[data-hfny-theme="dark"] .btn:focus,
html[data-hfny-theme="dark"] .btn.focus,
html[data-hfny-theme="blue"] .btn:focus,
html[data-hfny-theme="blue"] .btn.focus {
	outline: 2px solid #75beff;
	outline-offset: 2px;
}

/* Dark-theme links */

html[data-hfny-theme="dark"] a,
html[data-hfny-theme="dark"] a:visited,
html[data-hfny-theme="dark"] .btn-link,
html[data-hfny-theme="dark"] .btn-link:visited,
html[data-hfny-theme="blue"] a,
html[data-hfny-theme="blue"] a:visited,
html[data-hfny-theme="blue"] .btn-link,
html[data-hfny-theme="blue"] .btn-link:visited {
	color: #d8d8d8;
}

	html[data-hfny-theme="dark"] a:hover,
	html[data-hfny-theme="dark"] a:focus,
	html[data-hfny-theme="dark"] .btn-link:hover,
	html[data-hfny-theme="dark"] .btn-link:focus,
	html[data-hfny-theme="blue"] a:hover,
	html[data-hfny-theme="blue"] a:focus,
	html[data-hfny-theme="blue"] .btn-link:hover,
	html[data-hfny-theme="blue"] .btn-link:focus {
		color: #ffffff;
		text-decoration: underline;
	}

	html[data-hfny-theme="dark"] a:active,
	html[data-hfny-theme="blue"] a:active {
		color: #ffffff;
	}

/* In-page list links */

html[data-hfny-theme="dark"] .list-group-item a,
html[data-hfny-theme="dark"] .panel a,
html[data-hfny-theme="blue"] .list-group-item a,
html[data-hfny-theme="blue"] .panel a {
	color: #d8d8d8;
}

	html[data-hfny-theme="dark"] .list-group-item a:hover,
	html[data-hfny-theme="dark"] .list-group-item a:focus,
	html[data-hfny-theme="dark"] .panel a:hover,
	html[data-hfny-theme="dark"] .panel a:focus,
	html[data-hfny-theme="blue"] .list-group-item a:hover,
	html[data-hfny-theme="blue"] .list-group-item a:focus,
	html[data-hfny-theme="blue"] .panel a:hover,
	html[data-hfny-theme="blue"] .panel a:focus {
		color: #ffffff;
		text-decoration: underline;
	}

/* Make content links stand out with a persistent underline
   (tables, panel bodies, list-item text) while leaving UI chrome
   — buttons, nav tabs/pills, list-group rows, pagination — alone */

html[data-hfny-theme="dark"] .table td a:not(.btn):not(.list-group-item):not([data-toggle="tab"]):not([data-toggle="pill"]),
html[data-hfny-theme="dark"] .panel-body > a:not(.btn):not(.list-group-item):not(.moreInfo):not([data-toggle="tab"]):not([data-toggle="pill"]),
html[data-hfny-theme="dark"] .panel-body p a:not(.btn):not([data-toggle="tab"]):not([data-toggle="pill"]),
html[data-hfny-theme="dark"] .panel-body ul:not(.dropdown-menu):not(.nav) > li a:not(.btn):not(.list-group-item):not([data-toggle="tab"]):not([data-toggle="pill"]),
html[data-hfny-theme="dark"] .list-group-item > a:not(.btn):not([data-toggle="tab"]):not([data-toggle="pill"]),
html[data-hfny-theme="dark"] .list-group-item span a:not(.btn):not([data-toggle="tab"]):not([data-toggle="pill"]),
html[data-hfny-theme="blue"] .table td a:not(.btn):not(.list-group-item):not([data-toggle="tab"]):not([data-toggle="pill"]),
html[data-hfny-theme="blue"] .panel-body > a:not(.btn):not(.list-group-item):not(.moreInfo):not([data-toggle="tab"]):not([data-toggle="pill"]),
html[data-hfny-theme="blue"] .panel-body p a:not(.btn):not([data-toggle="tab"]):not([data-toggle="pill"]),
html[data-hfny-theme="blue"] .panel-body ul:not(.dropdown-menu):not(.nav) > li a:not(.btn):not(.list-group-item):not([data-toggle="tab"]):not([data-toggle="pill"]),
html[data-hfny-theme="blue"] .list-group-item > a:not(.btn):not([data-toggle="tab"]):not([data-toggle="pill"]),
html[data-hfny-theme="blue"] .list-group-item span a:not(.btn):not([data-toggle="tab"]):not([data-toggle="pill"]) {
	color: #4fc1ff;
	text-decoration: underline;
}

	html[data-hfny-theme="dark"] .table td a:not(.btn):not(.list-group-item):not([data-toggle="tab"]):not([data-toggle="pill"]):hover,
	html[data-hfny-theme="dark"] .table td a:not(.btn):not(.list-group-item):not([data-toggle="tab"]):not([data-toggle="pill"]):focus,
	html[data-hfny-theme="dark"] .panel-body > a:not(.btn):not(.list-group-item):not(.moreInfo):not([data-toggle="tab"]):not([data-toggle="pill"]):hover,
	html[data-hfny-theme="dark"] .panel-body > a:not(.btn):not(.list-group-item):not(.moreInfo):not([data-toggle="tab"]):not([data-toggle="pill"]):focus,
	html[data-hfny-theme="dark"] .panel-body p a:not(.btn):not([data-toggle="tab"]):not([data-toggle="pill"]):hover,
	html[data-hfny-theme="dark"] .panel-body ul:not(.dropdown-menu):not(.nav) > li a:not(.btn):not(.list-group-item):not([data-toggle="tab"]):not([data-toggle="pill"]):hover,
	html[data-hfny-theme="dark"] .list-group-item > a:not(.btn):not([data-toggle="tab"]):not([data-toggle="pill"]):hover,
	html[data-hfny-theme="dark"] .list-group-item span a:not(.btn):not([data-toggle="tab"]):not([data-toggle="pill"]):hover,
	html[data-hfny-theme="blue"] .table td a:not(.btn):not(.list-group-item):not([data-toggle="tab"]):not([data-toggle="pill"]):hover,
	html[data-hfny-theme="blue"] .table td a:not(.btn):not(.list-group-item):not([data-toggle="tab"]):not([data-toggle="pill"]):focus,
	html[data-hfny-theme="blue"] .panel-body > a:not(.btn):not(.list-group-item):not(.moreInfo):not([data-toggle="tab"]):not([data-toggle="pill"]):hover,
	html[data-hfny-theme="blue"] .panel-body > a:not(.btn):not(.list-group-item):not(.moreInfo):not([data-toggle="tab"]):not([data-toggle="pill"]):focus,
	html[data-hfny-theme="blue"] .panel-body p a:not(.btn):not([data-toggle="tab"]):not([data-toggle="pill"]):hover,
	html[data-hfny-theme="blue"] .panel-body ul:not(.dropdown-menu):not(.nav) > li a:not(.btn):not(.list-group-item):not([data-toggle="tab"]):not([data-toggle="pill"]):hover,
	html[data-hfny-theme="blue"] .list-group-item > a:not(.btn):not([data-toggle="tab"]):not([data-toggle="pill"]):hover,
	html[data-hfny-theme="blue"] .list-group-item span a:not(.btn):not([data-toggle="tab"]):not([data-toggle="pill"]):hover {
		color: #9cdcfe;
		text-decoration: underline;
	}

/* Dropdown menu links inside panels keep menu styling, not content-link */
html[data-hfny-theme="dark"] .dropdown-menu > li > a,
html[data-hfny-theme="blue"] .dropdown-menu > li > a {
	color: var(--hfny-text);
	text-decoration: none;
}

	html[data-hfny-theme="dark"] .dropdown-menu > li > a:hover,
	html[data-hfny-theme="dark"] .dropdown-menu > li > a:focus,
	html[data-hfny-theme="blue"] .dropdown-menu > li > a:hover,
	html[data-hfny-theme="blue"] .dropdown-menu > li > a:focus {
		background-color: var(--hfny-raised);
		color: #ffffff;
		text-decoration: none;
	}

/* Tabs retain the existing blue accent */

html[data-hfny-theme="dark"] .nav-tabs > li > a,
html[data-hfny-theme="dark"] .nav-tabs > li > a:visited,
html[data-hfny-theme="blue"] .nav-tabs > li > a,
html[data-hfny-theme="blue"] .nav-tabs > li > a:visited {
	background-color: var(--hfny-surface);
	border-color: var(--hfny-border-soft);
	color: #d8d8d8;
}

	html[data-hfny-theme="dark"] .nav-tabs > li > a:hover,
	html[data-hfny-theme="dark"] .nav-tabs > li > a:focus,
	html[data-hfny-theme="blue"] .nav-tabs > li > a:hover,
	html[data-hfny-theme="blue"] .nav-tabs > li > a:focus {
		background-color: var(--hfny-field) !important;
		border-color: var(--hfny-border-soft) !important;
		color: #d8d8d8 !important;
		text-decoration: none;
	}

html[data-hfny-theme="dark"] .nav-pills > li > a,
html[data-hfny-theme="dark"] .nav-pills > li > a:visited,
html[data-hfny-theme="blue"] .nav-pills > li > a,
html[data-hfny-theme="blue"] .nav-pills > li > a:visited {
	background-color: var(--hfny-surface);
	border: 1px solid var(--hfny-border-soft);
	color: #d8d8d8;
}

	html[data-hfny-theme="dark"] .nav-pills > li > a span,
	html[data-hfny-theme="dark"] .nav-pills > li > a:visited span,
	html[data-hfny-theme="blue"] .nav-pills > li > a span,
	html[data-hfny-theme="blue"] .nav-pills > li > a:visited span {
		color: inherit;
		text-decoration: none;
	}

	html[data-hfny-theme="dark"] .nav-pills > li > a:hover,
	html[data-hfny-theme="dark"] .nav-pills > li > a:focus,
	html[data-hfny-theme="blue"] .nav-pills > li > a:hover,
	html[data-hfny-theme="blue"] .nav-pills > li > a:focus {
		background-color: var(--hfny-field) !important;
		border-color: var(--hfny-border-soft) !important;
		color: #d8d8d8 !important;
		text-decoration: none;
	}

html[data-hfny-theme="dark"] .nav-tabs > li.active > a,
html[data-hfny-theme="dark"] .nav-tabs > li.active > a:visited,
html[data-hfny-theme="dark"] .nav-tabs > li.active > a:hover,
html[data-hfny-theme="dark"] .nav-tabs > li.active > a:focus,
html[data-hfny-theme="blue"] .nav-tabs > li.active > a,
html[data-hfny-theme="blue"] .nav-tabs > li.active > a:visited,
html[data-hfny-theme="blue"] .nav-tabs > li.active > a:hover,
html[data-hfny-theme="blue"] .nav-tabs > li.active > a:focus {
	background-color: #337ab7;
	border-color: #337ab7;
	color: #ffffff;
	font-weight: 600;
	text-decoration: none;
}

/* Selected and active items */

html[data-hfny-theme="dark"] .list-group-item.active,
html[data-hfny-theme="dark"] .list-group-item.active:hover,
html[data-hfny-theme="dark"] .list-group-item.active:focus,
html[data-hfny-theme="blue"] .list-group-item.active,
html[data-hfny-theme="blue"] .list-group-item.active:hover,
html[data-hfny-theme="blue"] .list-group-item.active:focus {
	background-color: #0e639c;
	border-color: #3794ff;
	color: #ffffff;
	font-weight: 600;
}

	html[data-hfny-theme="dark"] .list-group-item.active a,
	html[data-hfny-theme="dark"] .list-group-item.active a:visited,
	html[data-hfny-theme="dark"] .list-group-item.active a:hover,
	html[data-hfny-theme="dark"] .list-group-item.active a:focus,
	html[data-hfny-theme="blue"] .list-group-item.active a,
	html[data-hfny-theme="blue"] .list-group-item.active a:visited,
	html[data-hfny-theme="blue"] .list-group-item.active a:hover,
	html[data-hfny-theme="blue"] .list-group-item.active a:focus {
		color: #ffffff;
		text-decoration: none;
	}

html[data-hfny-theme="dark"] .nav-pills > li.active > a,
html[data-hfny-theme="dark"] .nav-pills > li.active > a:visited,
html[data-hfny-theme="dark"] .nav-pills > li.active > a:hover,
html[data-hfny-theme="dark"] .nav-pills > li.active > a:focus,
html[data-hfny-theme="blue"] .nav-pills > li.active > a,
html[data-hfny-theme="blue"] .nav-pills > li.active > a:visited,
html[data-hfny-theme="blue"] .nav-pills > li.active > a:hover,
html[data-hfny-theme="blue"] .nav-pills > li.active > a:focus {
	background-color: #0e639c;
	color: #ffffff;
	font-weight: 600;
	text-decoration: none;
}

html[data-hfny-theme="dark"] select option:checked,
html[data-hfny-theme="blue"] select option:checked {
	background: #0e639c linear-gradient(0deg, #0e639c 0%, #0e639c 100%);
	color: #ffffff;
	font-weight: 600;
}

html[data-hfny-theme="dark"] .btn.active,
html[data-hfny-theme="dark"] .btn:active,
html[data-hfny-theme="blue"] .btn.active,
html[data-hfny-theme="blue"] .btn:active {
	border-color: #3794ff;
	color: #ffffff;
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, .4), 0 0 0 1px #3794ff;
}

html[data-hfny-theme="dark"] table.dataTable tbody tr.selected,
html[data-hfny-theme="dark"] table.dataTable tbody tr.selected > td,
html[data-hfny-theme="blue"] table.dataTable tbody tr.selected,
html[data-hfny-theme="blue"] table.dataTable tbody tr.selected > td {
	background-color: #0e639c;
	color: #ffffff;
}

	html[data-hfny-theme="dark"] table.dataTable tbody tr.selected a,
	html[data-hfny-theme="dark"] table.dataTable tbody tr.selected a:visited,
	html[data-hfny-theme="dark"] table.dataTable tbody tr.selected a:hover,
	html[data-hfny-theme="dark"] table.dataTable tbody tr.selected a:focus,
	html[data-hfny-theme="blue"] table.dataTable tbody tr.selected a,
	html[data-hfny-theme="blue"] table.dataTable tbody tr.selected a:visited,
	html[data-hfny-theme="blue"] table.dataTable tbody tr.selected a:hover,
	html[data-hfny-theme="blue"] table.dataTable tbody tr.selected a:focus {
		color: #ffffff;
		font-weight: 600;
	}