/* EZUREX UI — Frappe / ERPNext brand layer
 * Visual tokens are aligned with ezurex.com: warm ivory, navy ink, ERP blue,
 * gold accent, soft borders, rounded cards, and editorial spacing.
 */

:root {
	--ezurex-background: hsl(42 42% 97%);
	--ezurex-card: hsl(42 44% 99%);
	--ezurex-foreground: hsl(214 40% 16%);
	--ezurex-primary: hsl(214 68% 30%);
	--ezurex-primary-dark: hsl(214 62% 18%);
	--ezurex-primary-foreground: hsl(42 90% 97%);
	--ezurex-accent: hsl(43 88% 56%);
	--ezurex-accent-soft: hsl(43 88% 92%);
	--ezurex-border: hsl(214 28% 82%);
	--ezurex-muted: hsl(42 26% 91%);
	--ezurex-muted-foreground: hsl(214 18% 38%);
	--ezurex-success: hsl(158 42% 35%);
	--ezurex-radius: 0.88rem;
	--ezurex-shadow: 0 18px 50px rgb(15 35 65 / 0.08);
	--ezurex-shadow-soft: 0 8px 24px rgb(15 35 65 / 0.06);
	--ezurex-body-font: "Manrope", "Segoe UI", sans-serif;
	--ezurex-heading-font: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;
}

body {
	font-family: var(--ezurex-body-font);
	color: var(--ezurex-foreground);
	background: var(--ezurex-background);
}

body,
body .form-control,
body .control-input,
body .btn,
body button,
body input,
body textarea,
body select {
	font-family: var(--ezurex-body-font);
}

h1,
h2,
h3,
h4,
h5,
h6,
.navbar-brand,
.page-title,
.title-text,
.widget-title {
	font-family: var(--ezurex-heading-font);
	color: var(--ezurex-foreground);
	letter-spacing: -0.025em;
}

/* Desk shell */
.navbar,
.navbar .container,
.navbar .container-fluid {
	background: var(--ezurex-card) !important;
}

.navbar {
	border-bottom: 1px solid var(--ezurex-border) !important;
	box-shadow: 0 2px 14px rgb(15 35 65 / 0.04);
}

.navbar-brand img,
.navbar-home img,
.app-logo {
	max-height: 38px;
	width: auto;
	object-fit: contain;
}

.navbar-brand,
.navbar-home,
.navbar .nav-link,
.navbar .dropdown-toggle {
	color: var(--ezurex-primary-dark) !important;
}

.navbar .nav-link:hover,
.navbar .dropdown-toggle:hover {
	color: var(--ezurex-primary) !important;
}

.layout-main-section,
.page-container,
.layout-main-section-wrapper {
	background: var(--ezurex-background);
}

.page-head {
	background: transparent;
	border-bottom-color: var(--ezurex-border);
}

.page-head .title-text,
.page-head .standard-filter-section {
	color: var(--ezurex-primary-dark);
}

.page-head .btn-primary,
.btn-primary,
.primary-action,
.btn.btn-primary {
	background: var(--ezurex-primary) !important;
	border-color: var(--ezurex-primary) !important;
	color: var(--ezurex-primary-foreground) !important;
	border-radius: 999px;
	font-weight: 700;
	box-shadow: 0 8px 18px rgb(29 75 117 / 0.16);
}

.page-head .btn-primary:hover,
.btn-primary:hover,
.primary-action:hover,
.btn.btn-primary:hover {
	background: var(--ezurex-primary-dark) !important;
	border-color: var(--ezurex-primary-dark) !important;
	transform: translateY(-1px);
}

.btn,
.form-control,
.control-input,
.input-with-feedback,
.awesomplete input {
	border-radius: 0.7rem;
}

.form-control,
.control-input,
.input-with-feedback,
.awesomplete input {
	border-color: var(--ezurex-border);
	background: var(--ezurex-card);
	color: var(--ezurex-foreground);
}

.form-control:focus,
.control-input:focus,
.input-with-feedback:focus,
.awesomplete input:focus {
	border-color: var(--ezurex-primary);
	box-shadow: 0 0 0 3px rgb(29 75 117 / 0.12);
}

.list-row-container,
.form-layout,
.form-dashboard-section,
.dashboard-widget-box,
.widget,
.frappe-card,
.modal-content,
.dropdown-menu {
	border-color: var(--ezurex-border);
	background: var(--ezurex-card);
	border-radius: var(--ezurex-radius);
	box-shadow: var(--ezurex-shadow-soft);
}

.list-row-container:hover,
.dashboard-widget-box:hover,
.widget:hover {
	border-color: hsl(214 68% 30% / 0.35);
	box-shadow: var(--ezurex-shadow);
}

.indicator-pill.green,
.indicator-pill.blue,
.indicator-pill.orange,
.indicator-pill.red,
.indicator-pill.grey {
	border-radius: 999px;
}

.indicator-pill.green {
	background: hsl(158 42% 92%);
	color: var(--ezurex-success);
}

.indicator-pill.blue {
	background: hsl(214 68% 92%);
	color: var(--ezurex-primary);
}

.sidebar {
	background: hsl(42 42% 97% / 0.96);
	border-right: 1px solid var(--ezurex-border);
}

.sidebar-item.selected,
.sidebar-item:hover {
	background: hsl(214 68% 30% / 0.08);
	color: var(--ezurex-primary-dark);
	border-radius: 0.65rem;
}

.sidebar-item.selected .sidebar-item-label,
.sidebar-item:hover .sidebar-item-label {
	color: var(--ezurex-primary);
	font-weight: 700;
}

.checkbox input:checked,
.frappe-control .checkbox input:checked {
	accent-color: var(--ezurex-primary);
}

.progress-bar,
.progress-bar-animated {
	background: linear-gradient(90deg, var(--ezurex-primary), var(--ezurex-accent));
}

/* Login page — the custom template carries the layout; these rules keep
 * Frappe's fallback/login fragments consistent if a route is rendered by core. */
body.ezurex-login-page {
	margin: 0;
	min-height: 100vh;
	background:
		radial-gradient(circle at 88% 8%, hsl(43 88% 56% / 0.18), transparent 22rem),
		radial-gradient(circle at 8% 92%, hsl(214 68% 30% / 0.13), transparent 24rem),
		var(--ezurex-background);
}

.ezurex-login-page .navbar,
.ezurex-login-page .web-footer,
.ezurex-login-page footer {
	display: none !important;
}

.ezurex-login-page .web-login,
.ezurex-login-page .login-content,
.ezurex-login-page .for-login,
.ezurex-login-page .page-card {
	background: transparent;
	box-shadow: none;
	border: 0;
}

.ezurex-login-page .form-control,
.ezurex-login-page input[type="text"],
.ezurex-login-page input[type="email"],
.ezurex-login-page input[type="password"] {
	min-height: 3.25rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--ezurex-border);
	border-radius: 0.8rem;
	background: var(--ezurex-card);
}

.ezurex-login-page .btn-login,
.ezurex-login-page #login_btn,
.ezurex-login-page button[type="submit"] {
	min-height: 3.25rem;
	border: 0;
	border-radius: 999px;
	background: var(--ezurex-primary);
	color: var(--ezurex-primary-foreground);
	font-weight: 800;
	letter-spacing: 0.01em;
	box-shadow: 0 10px 24px rgb(29 75 117 / 0.2);
}

.ezurex-login-page .btn-login:hover,
.ezurex-login-page #login_btn:hover,
.ezurex-login-page button[type="submit"]:hover {
	background: var(--ezurex-primary-dark);
}

.ezurex-login-page a {
	color: var(--ezurex-primary);
}

.ezurex-login-page a:hover {
	color: var(--ezurex-primary-dark);
}

@media (max-width: 800px) {
	.navbar-brand img,
	.navbar-home img,
	.app-logo {
		max-height: 32px;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

/* Full EZUREX authentication experience */
.ezurex-auth-page {
	position: relative;
	display: grid;
	grid-template-columns: minmax(320px, 0.95fr) minmax(420px, 1.05fr);
	min-height: 100vh;
	overflow: hidden;
	background: var(--ezurex-background);
}

.ezurex-auth-brand-panel {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100vh;
	overflow: hidden;
	padding: clamp(2rem, 5vw, 5.4rem);
	color: var(--ezurex-primary-foreground);
	background:
		radial-gradient(circle at 84% 18%, hsl(43 88% 56% / 0.22), transparent 12rem),
		linear-gradient(142deg, hsl(214 62% 18%) 0%, hsl(214 68% 30%) 58%, hsl(207 68% 34%) 100%);
}

.ezurex-auth-brand-grid {
	position: absolute;
	inset: 0;
	opacity: 0.28;
	background-image: linear-gradient(hsl(42 90% 97% / 0.14) 1px, transparent 1px), linear-gradient(90deg, hsl(42 90% 97% / 0.14) 1px, transparent 1px);
	background-size: 34px 34px;
	mask-image: linear-gradient(135deg, black, transparent 72%);
}

.ezurex-auth-brand-panel::after {
	position: absolute;
	right: -7rem;
	bottom: -8rem;
	width: 24rem;
	height: 24rem;
	border: 1px solid hsl(42 90% 97% / 0.16);
	border-radius: 50%;
	box-shadow: 0 0 0 2rem hsl(42 90% 97% / 0.035), 0 0 0 5rem hsl(42 90% 97% / 0.025);
	content: "";
}

.ezurex-auth-brand-content,
.ezurex-auth-brand-footer {
	position: relative;
	z-index: 1;
}

.ezurex-auth-brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(12rem, 52vw);
	height: 7.25rem;
	margin-bottom: clamp(2.4rem, 8vh, 6rem);
	padding: 0.7rem;
	border: 1px solid hsl(42 90% 97% / 0.2);
	border-radius: 1.2rem;
	background: hsl(42 90% 97% / 0.94);
	box-shadow: 0 18px 42px rgb(7 29 57 / 0.18);
}

.ezurex-auth-brand-mark img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ezurex-auth-kicker,
.ezurex-auth-eyebrow {
	margin: 0 0 1rem;
	font-size: 0.67rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.5;
}

.ezurex-auth-kicker {
	color: hsl(43 88% 70%);
}

.ezurex-auth-brand-content h1 {
	max-width: 12ch;
	margin: 0;
	font-family: var(--ezurex-heading-font);
	font-size: clamp(3rem, 5vw, 5.2rem);
	font-weight: 700;
	letter-spacing: -0.07em;
	line-height: 0.94;
	color: var(--ezurex-primary-foreground);
}

.ezurex-auth-brand-content h1 span {
	color: var(--ezurex-accent);
}

.ezurex-auth-intro {
	max-width: 31rem;
	margin: 1.8rem 0 0;
	font-size: clamp(0.95rem, 1.4vw, 1.1rem);
	line-height: 1.7;
	color: hsl(42 90% 97% / 0.78);
}

.ezurex-auth-proof-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 38rem;
	margin-top: clamp(2.5rem, 8vh, 6rem);
	border-top: 1px solid hsl(42 90% 97% / 0.2);
}

.ezurex-auth-proof-row div {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 1rem 0.85rem 0 0;
}

.ezurex-auth-proof-row div + div {
	padding-left: 0.85rem;
	border-left: 1px solid hsl(42 90% 97% / 0.2);
}

.ezurex-auth-proof-row strong {
	font-family: var(--ezurex-heading-font);
	font-size: 1.4rem;
	color: var(--ezurex-primary-foreground);
}

.ezurex-auth-proof-row span {
	font-size: 0.68rem;
	line-height: 1.35;
	color: hsl(42 90% 97% / 0.62);
}

.ezurex-auth-brand-footer {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	color: hsl(42 90% 97% / 0.7);
}

.ezurex-dot {
	display: inline-block;
	width: 0.45rem;
	height: 0.45rem;
	margin-right: 0.55rem;
	border-radius: 50%;
	background: var(--ezurex-accent);
	box-shadow: 0 0 0 0.25rem hsl(43 88% 56% / 0.16);
}

.ezurex-auth-form-panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	padding: clamp(1.5rem, 6vw, 5rem);
	background:
		radial-gradient(circle at 96% 4%, hsl(43 88% 56% / 0.12), transparent 17rem),
		var(--ezurex-background);
}

.ezurex-auth-form-shell {
	width: min(100%, 32rem);
}

.ezurex-auth-card .form-signin,
.ezurex-auth-card .form-group,
.ezurex-auth-card .form-control,
.ezurex-auth-card .ezurex-input-wrap {
	width: 100%;
	box-sizing: border-box;
}

.ezurex-auth-card {
	padding: clamp(1.4rem, 4vw, 2.9rem);
	border: 1px solid var(--ezurex-border);
	border-radius: 1.4rem;
	background: hsl(42 44% 99% / 0.88);
	box-shadow: var(--ezurex-shadow);
	backdrop-filter: blur(12px);
}

.ezurex-auth-card-head {
	display: none;
}

.ezurex-auth-card-logo-wrap {
	display: none;
}

.ezurex-auth-copy {
	margin-bottom: 2rem;
}

.ezurex-auth-copy .ezurex-auth-eyebrow {
	margin-bottom: 0.8rem;
	color: var(--ezurex-primary);
}

.ezurex-auth-copy h2 {
	margin: 0;
	font-size: clamp(2.1rem, 4vw, 3.4rem);
	line-height: 0.98;
	letter-spacing: -0.065em;
}

.ezurex-auth-copy p:last-child {
	max-width: 26rem;
	margin: 1.25rem 0 0;
	color: var(--ezurex-muted-foreground);
	line-height: 1.65;
}

.ezurex-auth-fields {
	padding: 0;
}

.ezurex-field-group {
	margin-bottom: 1.15rem;
}

.ezurex-field-group .form-label {
	display: block;
	margin-bottom: 0.48rem;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: var(--ezurex-primary-dark);
}

.ezurex-input-wrap {
	position: relative;
}

.ezurex-input-wrap .form-control {
	padding-left: 2.8rem;
}

.ezurex-input-icon {
	position: absolute;
	top: 50%;
	left: 1rem;
	z-index: 1;
	width: 1rem;
	font-size: 0.9rem;
	font-weight: 800;
	text-align: center;
	color: var(--ezurex-primary);
	transform: translateY(-50%);
}

.ezurex-input-wrap .toggle-password {
	position: absolute;
	top: 50%;
	right: 1rem;
	z-index: 1;
	font-size: 0.72rem;
	font-weight: 800;
	color: var(--ezurex-primary) !important;
	cursor: pointer;
	transform: translateY(-50%);
}

.ezurex-forgot-link {
	margin: 0.2rem 0 0;
	text-align: right;
	font-size: 0.78rem;
	font-weight: 700;
}

.ezurex-auth-actions {
	padding: 0;
}

.ezurex-auth-actions .btn {
	min-height: 3.3rem;
	font-size: 0.82rem;
}

.ezurex-sign-up-message {
	margin-top: 1.25rem;
	font-size: 0.82rem;
	color: var(--ezurex-muted-foreground);
}

.ezurex-sign-up-message a {
	font-weight: 800;
}

.ezurex-auth-mobile-brand {
	display: none;
}

.ezurex-auth-legal {
	margin: 1.1rem 0 0;
	font-size: 0.7rem;
	text-align: center;
	color: var(--ezurex-muted-foreground);
}

.ezurex-auth-legal span {
	padding: 0 0.4rem;
	color: var(--ezurex-accent);
}

@media (max-width: 900px) {
	.ezurex-auth-page {
		grid-template-columns: 1fr;
	}

	.ezurex-auth-brand-panel {
		display: none;
	}

	.ezurex-auth-form-panel {
		min-height: 100vh;
		padding: 1.25rem;
	}

	.ezurex-auth-mobile-brand {
		display: flex;
		justify-content: center;
		margin-bottom: 1.25rem;
	}

	.ezurex-auth-mobile-brand img {
		width: 11rem;
		height: 5rem;
		object-fit: contain;
	}
}

@media (max-width: 480px) {
	.ezurex-auth-card {
		padding: 1.25rem;
		border-radius: 1rem;
	}

	.ezurex-auth-copy h2 {
		font-size: 2.25rem;
	}
}

/* Flat EZUREX surfaces: remove the heavy framed look across Desk, Portal, and Login.
 * Focus states remain visible through an outer ring rather than a hard border. */
.navbar,
.page-head,
.sidebar,
.list-row-container,
.form-layout,
.form-dashboard-section,
.dashboard-widget-box,
.widget,
.frappe-card,
.modal-content,
.dropdown-menu,
.form-control,
.control-input,
.input-with-feedback,
.awesomplete input,
.ezurex-auth-card,
.ezurex-auth-brand-mark {
	border: 0 !important;
}

.navbar,
.page-head,
.sidebar,
.list-row-container,
.form-layout,
.form-dashboard-section,
.dashboard-widget-box,
.widget,
.frappe-card,
.modal-content,
.dropdown-menu,
.ezurex-auth-card {
	box-shadow: var(--ezurex-shadow-soft);
}

.navbar,
.page-head,
.sidebar {
	border-color: transparent !important;
}

.form-control:focus,
.control-input:focus,
.input-with-feedback:focus,
.awesomplete input:focus,
.ezurex-login-page .form-control:focus,
.ezurex-login-page input:focus {
	border: 0 !important;
	box-shadow: 0 0 0 3px rgb(29 75 117 / 0.16) !important;
}

.ezurex-auth-brand-panel::after {
	border: 0;
}

.ezurex-auth-proof-row {
	border-top: 0;
}

.ezurex-auth-proof-row div + div {
	border-left: 0;
}

/* Core Desk components that otherwise keep their default framed separators. */
.layout-main-section,
.layout-main-section-wrapper,
.form-section,
.form-section .section-head,
.form-tabs-list,
.nav-tabs,
.nav-tabs .nav-link,
.grid-row,
.grid-heading-row,
.list-row,
.list-row-container,
.frappe-list,
.frappe-list .result,
.desk-sidebar,
.page-container,
.page-content-wrapper,
.page-content,
.page-footer,
.table,
.table thead,
.table td,
.table th,
.data-table,
.data-table .dt-row,
.data-table .dt-cell,
.tree-node,
.tree-node .tree-link {
	border: 0 !important;
}

.form-section .section-head,
.grid-heading-row,
.table thead,
.data-table .dt-row-header {
	box-shadow: none !important;
}

/* Frappe/Bootstrap border utilities: keep the whole product visually flat. */
:root {
	--border-color: transparent;
	--control-border-color: transparent;
	--card-border-color: transparent;
	--table-border-color: transparent;
}

body .border,
body .border-top,
body .border-end,
body .border-bottom,
body .border-start,
body .border-left,
body .border-right,
body [class*="border-gray"],
body [class*="border-light"] {
	border-color: transparent !important;
}

/* EZUREX Desk identity — exact site palette applied to Frappe variables and surfaces. */
:root {
	--ezurex-body-font: "Noto Sans", "Segoe UI", sans-serif;
	--ezurex-heading-font: "Noto Sans Display", "Noto Sans", "Segoe UI", sans-serif;
	--ezurex-navy: hsl(214 62% 18%);
	--ezurex-ink: hsl(214 40% 16%);
	--ezurex-blue: hsl(214 68% 30%);
	--ezurex-blue-soft: hsl(214 68% 94%);
	--ezurex-ivory: hsl(42 42% 97%);
	--ezurex-surface: hsl(42 44% 99%);
	--ezurex-muted-surface: hsl(42 26% 91%);
	--ezurex-gold: hsl(43 88% 56%);
	--ezurex-gold-soft: hsl(43 88% 92%);
	--ezurex-control: hsl(42 44% 99%);
	--ezurex-icon: hsl(214 68% 30%);
	--bg-color: var(--ezurex-ivory);
	--fg-color: var(--ezurex-surface);
	--navbar-bg: var(--ezurex-surface);
	--card-bg: var(--ezurex-surface);
	--modal-bg: var(--ezurex-surface);
	--popover-bg: var(--ezurex-surface);
	--control-bg: var(--ezurex-control);
	--control-bg-on-gray: var(--ezurex-muted-surface);
	--subtle-accent: var(--ezurex-blue-soft);
	--subtle-fg: var(--ezurex-blue-soft);
	--primary: var(--ezurex-blue);
	--primary-color: var(--ezurex-blue);
	--btn-primary: var(--ezurex-blue);
	--border-primary: var(--ezurex-blue);
	--icon-stroke: var(--ezurex-ink);
	--sidebar-select-color: var(--ezurex-blue-soft);
	--highlight-color: var(--ezurex-gold-soft);
	--yellow-highlight-color: var(--ezurex-gold-soft);
	--focus-default: 0 0 0 3px hsl(214 68% 30% / 0.18);
}

body,
body[data-route],
body[data-page-route],
.desk-container,
.layout-main,
.layout-main-section-wrapper,
.layout-main-section,
.main-section,
.page-container,
.page-content-wrapper {
	font-family: var(--ezurex-body-font);
	color: var(--ezurex-ink);
	background: var(--ezurex-ivory) !important;
}

body,
body .form-control,
body .control-input,
body .btn,
body button,
body input,
body textarea,
body select,
body .dropdown-menu,
body .popover {
	font-family: var(--ezurex-body-font);
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .page-title,
body .title-text,
body .widget-title,
body .workspace-title,
body .navbar-brand,
body .modal-title {
	font-family: var(--ezurex-heading-font);
	font-weight: 700;
	letter-spacing: -0.025em;
	color: var(--ezurex-navy);
}

/* Top navigation: ivory surface, navy text, blue active states. */
body .navbar,
body .navbar .container,
body .navbar .container-fluid,
body .navbar .navbar-collapse {
	min-height: 3.25rem;
	background: var(--ezurex-surface) !important;
	color: var(--ezurex-navy) !important;
}

body .navbar .navbar-brand,
body .navbar .navbar-home,
body .navbar .nav-link,
body .navbar .dropdown-toggle,
body .navbar .navbar-toggler,
body .navbar .icon,
body .navbar .es-icon {
	color: var(--ezurex-navy) !important;
}

body .navbar .nav-link:hover,
body .navbar .nav-link:focus,
body .navbar .dropdown-toggle:hover,
body .navbar .navbar-brand:hover {
	color: var(--ezurex-blue) !important;
}

body .navbar .navbar-brand img,
body .navbar .navbar-home img,
body .navbar .app-logo {
	max-height: 2.25rem;
	width: auto;
	object-fit: contain;
}

/* Sidebar and workspace navigation. */
body .desk-sidebar,
body .layout-side-section,
body .layout-side-section .sidebar,
body .standard-sidebar,
body .workspace-sidebar,
body .sidebar {
	background: var(--ezurex-ivory) !important;
	color: var(--ezurex-ink) !important;
}

body .sidebar-item,
body .standard-sidebar-item,
body .workspace-sidebar .sidebar-item,
body .layout-side-section .sidebar-item {
	min-height: 2.35rem;
	margin: 0.18rem 0.55rem;
	border-radius: 0.7rem;
	color: var(--ezurex-ink) !important;
	background: transparent !important;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

body .sidebar-item:hover,
body .standard-sidebar-item:hover,
body .workspace-sidebar .sidebar-item:hover,
body .layout-side-section .sidebar-item:hover {
	background: var(--ezurex-blue-soft) !important;
	color: var(--ezurex-blue) !important;
	transform: translateX(2px);
}

body .sidebar-item.selected,
body .standard-sidebar-item.selected,
body .standard-sidebar-item.active,
body .workspace-sidebar .sidebar-item.selected,
body .layout-side-section .sidebar-item.selected {
	background: var(--ezurex-blue-soft) !important;
	color: var(--ezurex-blue) !important;
	font-weight: 800;
}

body .sidebar-item-label,
body .standard-sidebar-item .sidebar-item-label,
body .sidebar-item .sidebar-item-label {
	color: inherit !important;
}

body .sidebar-item-icon,
body .sidebar-item-icon .icon,
body .sidebar-item-icon .es-icon,
body .sidebar-item-icon svg,
body .sidebar-item-icon use,
body .standard-sidebar-item .icon,
body .standard-sidebar-item .es-icon,
body .workspace-sidebar .icon {
	color: var(--ezurex-icon) !important;
	fill: currentColor;
	stroke: currentColor;
}

body .sidebar-item.selected .sidebar-item-icon,
body .standard-sidebar-item.selected .icon,
body .standard-sidebar-item.active .icon,
body .workspace-sidebar .sidebar-item.selected .icon {
	color: var(--ezurex-blue) !important;
}

body .sidebar-item .badge,
body .standard-sidebar-item .badge {
	background: var(--ezurex-gold) !important;
	color: var(--ezurex-navy) !important;
	border-radius: 999px;
}

/* Workspace cards, dashboard widgets, list surfaces, and form sections. */
body .workspace-container,
body .workspace-page,
body .workspace-main,
body .workspace-main-section,
body .dashboard-widget-box,
body .widget,
body .widget-group,
body .frappe-card,
body .form-layout,
body .form-dashboard-section,
body .form-section,
body .list-row-container,
body .list-row,
body .grid-row,
body .modal-content,
body .dropdown-menu,
body .popover,
body .page-card {
	background: var(--ezurex-surface) !important;
	color: var(--ezurex-ink) !important;
	box-shadow: var(--ezurex-shadow-soft);
}

body .workspace-title,
body .page-head .title-text,
body .page-head .page-title,
body .page-head .indicator-pill,
body .form-section .section-head,
body .section-head {
	color: var(--ezurex-navy) !important;
}

body .page-head,
body .page-head .container,
body .page-head .page-head-content,
body .page-head .standard-actions {
	background: transparent !important;
}

body .page-head .btn-primary,
body .btn-primary,
body .primary-action,
body .btn.btn-primary {
	background: var(--ezurex-blue) !important;
	border-color: var(--ezurex-blue) !important;
	color: var(--ezurex-primary-foreground) !important;
}

body .btn-default,
body .btn-secondary,
body .btn-light,
body .btn-ghost {
	background: var(--ezurex-blue-soft) !important;
	border-color: transparent !important;
	color: var(--ezurex-blue) !important;
}

body .btn-default:hover,
body .btn-secondary:hover,
body .btn-light:hover,
body .btn-ghost:hover {
	background: var(--ezurex-gold-soft) !important;
	color: var(--ezurex-navy) !important;
}

body .form-control,
body .control-input,
body .input-with-feedback,
body .awesomplete input,
body .data-input,
body .filter-input {
	background: var(--ezurex-control) !important;
	color: var(--ezurex-ink) !important;
	border: 0 !important;
	box-shadow: inset 0 0 0 1px hsl(214 28% 82% / 0.4);
}

body .form-control:focus,
body .control-input:focus,
body .input-with-feedback:focus,
body .awesomplete input:focus,
body .data-input:focus,
body .filter-input:focus {
	box-shadow: var(--focus-default) !important;
}

/* Data, status, and icon accents. */
body .indicator-pill.blue,
body .indicator.blue,
body .badge-primary,
body .text-primary,
body .text-blue,
body .link-primary {
	color: var(--ezurex-blue) !important;
}

body .indicator-pill.green,
body .indicator.green,
body .badge-success {
	color: hsl(158 42% 35%) !important;
	background: hsl(158 42% 92%) !important;
}

body .indicator-pill.orange,
body .indicator.orange,
body .badge-warning {
	color: var(--ezurex-navy) !important;
	background: var(--ezurex-gold-soft) !important;
}

body .icon,
body .es-icon,
body .octicon,
body svg.icon,
body svg.es-icon {
	color: var(--ezurex-icon);
}

body .progress-bar,
body .progress-bar-animated {
	background: linear-gradient(90deg, var(--ezurex-blue), var(--ezurex-gold)) !important;
}

body .checkbox input:checked,
body input[type="checkbox"]:checked,
body input[type="radio"]:checked {
	accent-color: var(--ezurex-blue);
}

/* Branded post-login transition. */
.ezurex-login-splash {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 1rem;
	min-height: 100vh;
	background: var(--ezurex-ivory);
	color: var(--ezurex-navy);
	font-family: var(--ezurex-body-font);
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.ezurex-login-splash img {
	width: min(14rem, 48vw);
	height: auto;
	max-height: 8rem;
	object-fit: contain;
}

/* Avoid a residual ERPNext-branded footer or splash image if an older cache remains. */
body img[src*="erpnext-logo"],
body img[src*="erpnext/images/erpnext-logo"] {
	content: url("/assets/ezurex_ui/logo/ezurex-logo.webp");
}
