:root {
	--ef-navy: #0b1f3a;
	--ef-teal: #00a88f;
	--ef-surface: #ffffff;
	--ef-bg: #f5f8fa;
	--ef-ink: #10243e;
	--ef-muted: #617086;
	--ef-line: rgba(11, 31, 58, 0.12);
}

.ef-subscription-banner {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1100;
	min-height: 42px;
	padding: 10px 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	font: 600 13px/1.4 Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
	text-align: center;
	box-shadow: 0 3px 12px rgba(11, 31, 58, 0.14);
}

.ef-subscription-banner-warning { background: #fff3cd; color: #6f4d00; border-bottom: 1px solid #e7c968; }
.ef-subscription-banner-danger { background: #fbe4e2; color: #842b24; border-bottom: 1px solid #e2a39d; }
.ef-subscription-banner-contact { color: inherit !important; font-weight: 750; text-decoration: underline !important; white-space: nowrap; }
html.ef-has-subscription-banner body { padding-top: 42px !important; }

.ef-suspended-shell {
	min-height: calc(100vh - 140px);
	display: grid;
	place-items: center;
	padding: 48px 20px;
}

.ef-suspended-card {
	width: min(620px, 100%);
	padding: 42px;
	background: #fff;
	border: 1px solid var(--ef-line);
	border-radius: 18px;
	box-shadow: 0 18px 50px rgba(11, 31, 58, 0.12);
	text-align: center;
}

.ef-suspended-card img { width: 210px; margin-bottom: 28px; }
.ef-suspended-card h1 { color: var(--ef-navy); margin-bottom: 12px; }
.ef-suspended-card p { color: var(--ef-muted); font-size: 16px; }
.ef-suspended-meta { margin: 24px 0; padding: 16px; border-radius: 12px; background: #f5f8fa; }
.ef-suspended-contact { display: inline-block; padding: 11px 18px; border-radius: 9px; background: var(--ef-navy); color: #fff !important; text-decoration: none !important; }

/* Persistent white-label treatment for login, loading, and Desk chrome. */
html[data-erpfin360-brand="active"] .erpfin360-brand-image {
	max-width: 190px !important;
	max-height: 46px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
}

html[data-erpfin360-brand="active"] .erpfin360-symbol-image,
html[data-erpfin360-brand="active"] .body-sidebar .sidebar-header .header-logo img,
html[data-erpfin360-brand="active"] .body-sidebar .sidebar-header-menu img.logo {
	width: 32px !important;
	height: 32px !important;
	max-width: 32px !important;
	max-height: 32px !important;
	object-fit: contain;
}

.page-card-head img,
.login-content .page-card-head img {
	content: url("/assets/erpfin360/images/logo-primary-horizontal.svg");
	width: 190px !important;
	height: auto !important;
}

.erpfin360-symbol-slot {
	background: center / contain no-repeat url("/assets/erpfin360/images/symbol.svg");
	display: inline-block !important;
	width: 22px !important;
	height: 22px !important;
	font-size: 0 !important;
	color: transparent !important;
}

/* ERPFin360 Desk theme: align navigation, lists, forms, and controls with the dashboard. */
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) {
	--sidebar-hover-color: #eaf8f5;
	--sidebar-active-color: #dff5f0;
	--sidebar-border-color: rgba(11, 31, 58, 0.10);
	--surface-menu-bar: #f8fbfb;
	--primary: #0b766f;
	--primary-color: #0b766f;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) body {
	background: #f7f9fb;
	color: var(--ef-ink);
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar {
	background: linear-gradient(180deg, #ffffff 0%, #f5fbfa 100%);
	border-right-color: rgba(11, 31, 58, 0.10);
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .body-sidebar-top {
	scrollbar-color: rgba(11, 118, 111, 0.28) transparent;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .section-item > .standard-sidebar-item {
	min-height: 34px;
	margin: 7px 0 3px;
	border-radius: 9px;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .section-item > .standard-sidebar-item:hover {
	background: #eaf8f5;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .section-break {
	height: 34px;
	margin-left: 0;
	padding: 0 8px;
	color: var(--ef-navy) !important;
	font-weight: 700;
	letter-spacing: -0.01em;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .section-item > .standard-sidebar-item .drop-icon {
	color: #0b766f;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .section-item > .nested-container {
	margin: 2px 0 8px 11px;
	padding-left: 7px;
	border-left: 1px solid rgba(11, 118, 111, 0.20);
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .standard-sidebar-item .item-anchor {
	min-height: 31px;
	color: #43536a;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .standard-sidebar-item .sidebar-item-icon {
	color: #637388 !important;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .standard-sidebar-item:hover:not(.active-sidebar) {
	background: #edf8f6;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .active-sidebar {
	border: 1px solid rgba(11, 118, 111, 0.18);
	background: linear-gradient(90deg, #def4ef, #eefaf7);
	box-shadow: none;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .active-sidebar .item-anchor,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .active-sidebar .sidebar-item-label {
	color: var(--ef-navy);
	font-weight: 650;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .active-sidebar .sidebar-item-icon {
	color: #0b766f !important;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .body-sidebar .sidebar-toggle-btn {
	border-color: rgba(11, 118, 111, 0.22);
	background: #ffffff;
	color: #0b766f;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .page-head {
	border-bottom: 1px solid rgba(11, 31, 58, 0.09);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 2px 12px rgba(11, 31, 58, 0.035);
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .page-head .title-text,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .page-head .page-title,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .form-section .section-head,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .form-dashboard-section .section-head {
	color: var(--ef-navy);
	font-weight: 700;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .page-head .btn-primary,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .page-actions .btn-primary,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .form-actions .btn-primary,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .modal .btn-primary {
	border-color: #0b766f;
	background: #0b766f;
	color: #ffffff;
	box-shadow: 0 5px 14px rgba(11, 118, 111, 0.16);
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .page-head .btn-primary:hover,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .page-actions .btn-primary:hover,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .form-actions .btn-primary:hover,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .modal .btn-primary:hover {
	border-color: #095f5a;
	background: #095f5a;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .page-head .btn-default,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .page-actions .btn-default,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .list-actions .btn-default {
	border-color: rgba(11, 31, 58, 0.10);
	background: #f4f8f8;
	color: #35465c;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .form-control,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .control-input,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .awesomplete > input {
	border-color: rgba(11, 31, 58, 0.13);
	border-radius: 9px;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .form-control:focus,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .control-input:focus,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .awesomplete > input:focus {
	border-color: #0b9188;
	box-shadow: 0 0 0 3px rgba(11, 145, 136, 0.11);
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .form-tabs-list .nav-link.active,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .form-tabs-list .nav-link:hover {
	color: var(--ef-navy);
	border-bottom-color: #0b9188;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .frappe-list .result,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .form-layout,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .form-dashboard-section,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .report-wrapper {
	border-color: rgba(11, 31, 58, 0.09);
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .list-row-head {
	background: #edf8f6;
	color: var(--ef-navy);
	font-weight: 650;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .list-row-container:hover,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .list-row:hover {
	background: #f6fbfa;
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .form-section.card-section,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .form-dashboard-section,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .frappe-card {
	border-color: rgba(11, 31, 58, 0.09);
	border-radius: 13px;
	box-shadow: 0 7px 24px rgba(11, 31, 58, 0.045);
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .modal-content,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .dropdown-menu {
	border-color: rgba(11, 31, 58, 0.10);
	border-radius: 12px;
	box-shadow: 0 14px 36px rgba(11, 31, 58, 0.13);
}

html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .dropdown-item:hover,
html[data-erpfin360-brand="active"]:not([data-theme="dark"]) .dropdown-item:focus {
	background: #edf8f6;
	color: var(--ef-navy);
}

/* Branded, responsive Frappe login shell. Authentication remains Frappe-native. */
html.ef-login-active,
html.ef-login-active body[data-path="login"] {
	min-height: 100%;
	background: #fff;
}

body[data-path="login"] #page-login {
	min-height: 100vh;
}

body[data-path="login"] #page-login .page-content-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	min-height: 100vh;
	padding: 0 !important;
}

body[data-path="login"] #page-login main.container {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: none;
	min-height: 100vh;
	margin: 0;
	padding: 56px;
}

body[data-path="login"] #page-login .page-header-wrapper,
body[data-path="login"] #page-login .page-breadcrumbs,
body[data-path="login"] #page-login .page-footer,
body[data-path="login"] > .web-footer {
	display: none !important;
}

body[data-path="login"] #page-login .page_content {
	width: 100%;
}

body[data-path="login"] #page-login .page_content > div {
	display: flex;
	justify-content: center;
	width: 100%;
}

body[data-path="login"] #page-login section {
	width: min(570px, 100%);
}

body[data-path="login"] #page-login .login-content.page-card {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

body[data-path="login"] #page-login .page-card-head {
	display: block;
	margin: 0 0 38px;
	padding: 0;
	text-align: left;
}

body[data-path="login"] #page-login .page-card-head .app-logo {
	display: block;
	width: 194px !important;
	max-width: 194px !important;
	height: auto !important;
	margin: 0 0 64px;
}

body[data-path="login"] #page-login .page-card-head h4 {
	margin: 0;
	color: var(--ef-navy);
	font-size: clamp(30px, 2.2vw, 40px);
	font-weight: 750;
	letter-spacing: -0.035em;
	line-height: 1.15;
}

body[data-path="login"] #page-login .page-card-body,
body[data-path="login"] #page-login .page-card-actions {
	padding: 0;
}

body[data-path="login"] #page-login .form-group {
	margin-bottom: 30px;
}

body[data-path="login"] #page-login .form-label {
	margin-bottom: 10px;
	color: #66758a;
	font-size: 17px;
	font-weight: 500;
}

body[data-path="login"] #page-login .form-control {
	height: 70px;
	padding: 0 52px 0 60px;
	border: 1px solid #d9e1ea;
	border-radius: 14px;
	background: #fffef0;
	color: #0b1629;
	font-size: 19px;
	box-shadow: none;
}

body[data-path="login"] #page-login .form-control:focus {
	border-color: var(--ef-teal);
	box-shadow: 0 0 0 4px rgba(0, 168, 143, 0.14);
}

body[data-path="login"] #page-login .field-icon {
	left: 21px;
	width: 20px;
	height: 20px;
	color: #8796aa;
}

body[data-path="login"] #page-login .toggle-password {
	right: 20px;
	width: 20px;
	height: 20px;
}

body[data-path="login"] #page-login .forgot-password-message {
	margin: 16px 0 28px;
	text-align: right;
}

body[data-path="login"] #page-login .forgot-password-message a {
	color: #6c7b90;
	font-size: 16px;
}

body[data-path="login"] #page-login .page-card-actions .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 68px;
	border-radius: 14px;
	font-size: 18px;
	font-weight: 650;
}

body[data-path="login"] #page-login .page-card-actions .btn-login[type="submit"] {
	border-color: #0d5bff;
	background: #0d5bff;
	color: #fff;
	box-shadow: 0 9px 22px rgba(13, 91, 255, 0.18);
}

body[data-path="login"] #page-login .page-card-actions .btn-login[type="submit"]:hover,
body[data-path="login"] #page-login .page-card-actions .btn-login[type="submit"]:focus {
	border-color: #084bd7;
	background: #084bd7;
}

body[data-path="login"] #page-login .btn-login-option {
	border: 1px solid #d9e1ea;
	background: #fff;
	color: #33445b;
}

.ef-login-divider {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 26px;
	margin: 38px 0;
	color: #8895a7;
}

.ef-login-divider span {
	height: 1px;
	background: #d9e1ea;
}

.ef-login-divider em {
	font-size: 16px;
	font-style: normal;
}

.ef-login-showcase {
	position: relative;
	display: grid;
	place-items: center;
	min-width: 0;
	min-height: 100vh;
	overflow: hidden;
	background: linear-gradient(138deg, #0b203d 0%, #0d3f50 48%, #087b70 100%);
	color: #fff;
}

.ef-login-showcase-content {
	position: relative;
	z-index: 2;
	width: min(720px, 76%);
	text-align: center;
}

.ef-login-showcase-content img {
	width: min(380px, 72%);
	height: auto;
	margin-bottom: 168px;
}

.ef-login-showcase-content h2 {
	margin: 0 0 22px;
	color: #fff;
	font-size: clamp(28px, 2.4vw, 42px);
	font-weight: 750;
	letter-spacing: -0.025em;
}

.ef-login-showcase-content p {
	max-width: 720px;
	margin: 0 auto;
	color: rgba(255, 255, 255, 0.72);
	font-size: clamp(16px, 1.2vw, 21px);
	line-height: 1.55;
}

.ef-login-stroke {
	position: absolute;
	z-index: 1;
	display: block;
	width: 8px;
	height: 102px;
	border-radius: 8px;
	background: rgba(198, 232, 229, 0.55);
	transform: rotate(14deg);
}

.ef-login-stroke-one { top: 39%; left: 12%; }
.ef-login-stroke-two { top: 22%; right: 12%; height: 164px; }
.ef-login-stroke-three { bottom: 7%; left: 20%; height: 140px; }
.ef-login-stroke-four { right: 23%; bottom: 17%; height: 112px; }

@media (max-width: 1050px) {
	body[data-path="login"] #page-login .page-content-wrapper { grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); }
	body[data-path="login"] #page-login main.container { padding: 48px; }
	.ef-login-showcase-content { width: 84%; }
	.ef-login-showcase-content img { margin-bottom: 120px; }
}

@media (max-width: 820px) {
	body[data-path="login"] #page-login .page-content-wrapper { display: block; }
	body[data-path="login"] #page-login main.container { min-height: 100vh; padding: 44px 24px; }
	body[data-path="login"] #page-login section { width: min(540px, 100%); }
	body[data-path="login"] #page-login .page-card-head .app-logo { margin-bottom: 46px; }
	.ef-login-showcase { display: none; }
}

@media (max-width: 480px) {
	body[data-path="login"] #page-login main.container { align-items: flex-start; padding: 36px 20px; }
	body[data-path="login"] #page-login .form-control { height: 60px; font-size: 16px; }
	body[data-path="login"] #page-login .page-card-actions .btn { min-height: 58px; font-size: 16px; }
	body[data-path="login"] #page-login .page-card-head .app-logo { width: 170px !important; margin-bottom: 40px; }
	body[data-path="login"] #page-login .form-group { margin-bottom: 24px; }
	.ef-login-divider { margin: 28px 0; }
}

.ef-dashboard {
	font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
	color: var(--ef-ink);
	padding: 6px 0 32px;
}

.ef-command-header {
	min-height: 82px;
	padding: 15px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background: linear-gradient(115deg, rgba(11, 31, 58, .045), rgba(0, 168, 143, .07));
	border: .5px solid var(--ef-line);
	border-radius: 14px;
}

.ef-command-header h1 { margin: 0 0 4px; color: var(--ef-navy); font-size: clamp(19px, 2vw, 25px); font-weight: 720; letter-spacing: -.025em; }
.ef-command-header p { margin: 0; color: var(--ef-muted); font-size: 13px; }
.ef-command-header > div:first-child { flex: 1 1 440px; min-width: 0; }
.ef-actions { flex: 0 1 570px; display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.ef-action, .ef-more-actions summary { min-height: 34px; display: inline-flex; align-items: center; gap: 5px; padding: 7px 10px; border: .5px solid rgba(0, 122, 110, .25); border-radius: 8px; background: var(--ef-surface); color: var(--ef-navy) !important; font-size: 12px; font-weight: 650; text-decoration: none !important; cursor: pointer; }
.ef-action:first-child { background: var(--ef-teal); color: #fff !important; border-color: var(--ef-teal); }
.ef-action:hover, .ef-more-actions summary:hover { transform: translateY(-1px); box-shadow: 0 5px 14px rgba(11, 31, 58, .08); }
.ef-more-actions { position: relative; }
.ef-more-actions summary { list-style: none; }
.ef-more-actions summary::-webkit-details-marker { display: none; }
.ef-more-actions > div { position: absolute; z-index: 10; top: calc(100% + 6px); right: 0; width: 190px; padding: 6px; border: .5px solid var(--ef-line); border-radius: 10px; background: var(--ef-surface); box-shadow: 0 12px 28px rgba(11, 31, 58, .15); }
.ef-more-actions > div a { display: block; padding: 8px 10px; border-radius: 7px; color: var(--ef-ink); text-decoration: none; font-size: 12px; }
.ef-more-actions > div a:hover { background: rgba(0, 168, 143, .08); }

.ef-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.ef-kpi-grid.is-restricted { grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); }
.ef-kpi { min-width: 0; min-height: 118px; padding: 15px; display: flex; flex-direction: column; border: .5px solid var(--ef-line); border-radius: 12px; background: var(--ef-surface); box-shadow: 0 5px 18px rgba(11, 31, 58, .045); color: var(--ef-ink) !important; text-decoration: none !important; position: relative; overflow: hidden; }
.ef-kpi::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--ef-teal); opacity: .72; }
.ef-kpi-profit::before, .ef-kpi-cash::before, .ef-green::before { background: #397e4a; }
.ef-kpi-receivables::before, .ef-amber::before { background: #c58a20; }
.ef-kpi-payables::before, .ef-red::before { background: #c24232; }
.ef-kpi-inventory::before { background: #4776a8; }
.ef-kpi:hover { border-color: rgba(0, 168, 143, .4); transform: translateY(-1px); box-shadow: 0 8px 20px rgba(11, 31, 58, .08); }
.ef-kpi-label { color: var(--ef-muted); font-size: 11px; font-weight: 650; letter-spacing: .01em; }
.ef-kpi strong { display: block; margin: 11px 0 8px; overflow: hidden; text-overflow: ellipsis; color: var(--ef-navy); font-size: clamp(17px, 1.45vw, 22px); font-weight: 730; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ef-kpi small { margin-top: auto; color: var(--ef-muted); font-size: 10px; line-height: 1.35; }
.ef-trend.is-positive { color: #2f7440; }
.ef-trend.is-negative { color: #a53b31; }
.ef-empty-state, .ef-dashboard-error { padding: 28px; border: .5px dashed var(--ef-line); border-radius: 12px; color: var(--ef-muted); background: var(--ef-surface); }
.ef-dashboard-error h2 { color: var(--ef-navy); font-size: 18px; }

.ef-dashboard-content { margin-top: 12px; }
.ef-analytics-loading { height: 280px; border: .5px solid var(--ef-line); border-radius: 12px; background: var(--ef-surface); }
.ef-analytics-primary { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(260px, 1fr); gap: 12px; }
.ef-analytics-secondary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.ef-panel { min-width: 0; padding: 17px; border: .5px solid var(--ef-line); border-radius: 12px; background: var(--ef-surface); box-shadow: 0 5px 18px rgba(11, 31, 58, .04); }
.ef-panel > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }
.ef-panel h2 { margin: 0; color: var(--ef-navy); font-size: 14px; font-weight: 700; }
.ef-main-chart { min-height: 235px; }
.ef-main-chart .chart-container { padding: 0 !important; }
.ef-main-chart .graph-svg-tip { z-index: 20; }
.ef-widget-empty, .ef-widget-error { min-height: 90px; display: grid; place-items: center; color: var(--ef-muted); font-size: 12px; text-align: center; }
.ef-widget-error { min-height: 150px; border: .5px dashed #c24232; border-radius: 12px; background: rgba(194, 66, 50, .04); color: #a53b31; }
.ef-account-list { max-height: 230px; overflow: auto; }
.ef-account-list a, .ef-account-total { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 2px; border-bottom: .5px solid var(--ef-line); color: var(--ef-ink) !important; font-size: 11px; text-decoration: none !important; }
.ef-account-list a:hover span { color: var(--ef-teal); }
.ef-account-list span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ef-account-list b, .ef-account-total b { flex: none; color: var(--ef-navy); font-variant-numeric: tabular-nums; }
.ef-account-total { border: 0; padding-top: 13px; font-weight: 700; }
.ef-aging-row { margin-bottom: 10px; }
.ef-aging-row > div:first-child { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 5px; color: var(--ef-muted); font-size: 10px; }
.ef-aging-row b { color: var(--ef-navy); font-variant-numeric: tabular-nums; }
.ef-aging-track { height: 5px; overflow: hidden; border-radius: 5px; background: rgba(117, 131, 145, .12); }
.ef-aging-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ef-teal), #70d4c4); }
.ef-profitability > div { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: .5px solid var(--ef-line); color: var(--ef-muted); font-size: 11px; }
.ef-profitability b { color: var(--ef-navy); font-variant-numeric: tabular-nums; }
.ef-profitability .ef-margin { margin-top: 3px; border: 0; color: var(--ef-navy); font-weight: 700; }
.ef-chart-fallback { height: 225px; display: flex; align-items: stretch; gap: 5px; padding: 10px 2px 24px; border-bottom: .5px solid var(--ef-line); }
.ef-chart-fallback > div { flex: 1; display: flex; align-items: flex-end; justify-content: center; gap: 2px; position: relative; }
.ef-chart-fallback span, .ef-chart-fallback i { width: 35%; max-width: 10px; min-height: 0; background: var(--ef-teal); border-radius: 3px 3px 0 0; }
.ef-chart-fallback i { background: #c58a20; }
.ef-chart-fallback small { position: absolute; top: calc(100% + 5px); left: 50%; transform: translateX(-50%); color: var(--ef-muted); font-size: 8px; }
.ef-dashboard-lower { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(260px, 1fr); gap: 12px; margin-top: 12px; }
.ef-lower-loading { grid-column: 1 / -1; min-height: 190px; border: .5px solid var(--ef-line); border-radius: 12px; }
.ef-transaction-table { min-width: 620px; }
.ef-transactions-panel { overflow-x: auto; }
.ef-transaction-head, .ef-transaction-table > a { display: grid; grid-template-columns: 80px 105px 1.1fr 1.3fr 110px 90px; align-items: center; gap: 9px; min-height: 34px; padding: 5px 2px; border-bottom: .5px solid var(--ef-line); color: var(--ef-muted); font-size: 10px; }
.ef-transaction-head { min-height: 28px; color: var(--ef-navy); font-weight: 700; }
.ef-transaction-table > a { color: var(--ef-ink) !important; text-decoration: none !important; }
.ef-transaction-table > a:hover { background: rgba(0, 168, 143, .04); }
.ef-transaction-table b { overflow: hidden; color: var(--ef-navy); font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.ef-transaction-table em { width: fit-content; padding: 3px 6px; border-radius: 8px; background: rgba(0, 168, 143, .09); color: #28675f; font-style: normal; }
.ef-pending-list a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 40px; padding: 8px 2px; border-bottom: .5px solid var(--ef-line); color: var(--ef-ink) !important; font-size: 11px; text-decoration: none !important; }
.ef-pending-list a:hover span { color: var(--ef-teal); }
.ef-pending-list b { min-width: 26px; padding: 3px 7px; border-radius: 10px; background: rgba(197, 138, 32, .11); color: #855a10; text-align: center; }

.ef-skeleton { overflow: hidden; position: relative; }
.ef-skeleton::after { content: ""; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent); animation: ef-shimmer 1.3s infinite; }
.ef-skeleton div, .ef-skeleton span, .ef-skeleton strong, .ef-skeleton small { display: block; min-height: 12px; width: 60%; border-radius: 5px; background: rgba(117, 131, 145, .13); }
.ef-skeleton strong { width: 78%; min-height: 23px; margin: 14px 0; }
@keyframes ef-shimmer { 100% { transform: translateX(100%); } }

.ef-action:focus-visible, .ef-more-actions summary:focus-visible, .ef-kpi:focus-visible { outline: 2px solid var(--ef-teal); outline-offset: 2px; }

@media (max-width: 1280px) {
	.ef-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.ef-command-header { align-items: flex-start; flex-direction: column; }
	.ef-actions { justify-content: flex-start; }
	.ef-analytics-primary { grid-template-columns: 1fr; }
	.ef-analytics-secondary { grid-template-columns: 1fr 1fr; }
	.ef-dashboard-lower { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
	.ef-subscription-banner { align-items: flex-start; flex-direction: column; gap: 3px; padding: 8px 12px; }
	html.ef-has-subscription-banner body { padding-top: 60px !important; }
	.ef-command-header { min-height: 0; padding: 14px; }
	.ef-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
	.ef-action, .ef-more-actions summary { justify-content: center; }
	.ef-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ef-kpi { min-height: 110px; }
	.ef-analytics-secondary { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
	.ef-kpi-grid { grid-template-columns: 1fr; }
}

.ef-command-palette { margin: -5px -5px 0; }
.ef-command-palette input { width: 100%; height: 44px; padding: 0 13px; border: 1px solid var(--ef-line); border-radius: 10px; background: var(--ef-surface); color: var(--ef-ink); font-size: 14px; outline: none; }
.ef-command-palette input:focus { border-color: var(--ef-teal); box-shadow: 0 0 0 3px rgba(0, 168, 143, .1); }
.ef-command-palette [data-ef-command-results] { max-height: min(55vh, 460px); overflow: auto; margin-top: 8px; }
.ef-command-result { display: grid; grid-template-columns: 1fr 38px; align-items: center; gap: 4px; padding: 3px; border-radius: 8px; }
.ef-command-result:hover, .ef-command-result.is-selected { background: rgba(0, 168, 143, .075); }
.ef-command-open { min-width: 0; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 8px; padding: 8px; border: 0; background: transparent; color: var(--ef-ink); text-align: left; }

/* Per-user list column preferences */
.ef-column-options { display: flex; flex-direction: column; gap: 6px; max-height: 56vh; overflow: auto; padding: 2px; }
.ef-column-option { display: grid; grid-template-columns: 28px 28px minmax(160px, 1fr) 100px; align-items: center; gap: 8px; min-height: 42px; padding: 6px 8px; border: 1px solid var(--border-color); border-radius: 8px; background: var(--card-bg); }
.ef-column-drag { display: inline-flex; cursor: grab; color: var(--text-muted); }
.ef-column-drag:active { cursor: grabbing; }
.ef-column-visible { width: 16px; height: 16px; }
.ef-column-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ef-column-width { height: 30px !important; }
.ef-column-resizer { position: absolute; top: 0; right: -4px; bottom: 0; z-index: 3; width: 9px; cursor: col-resize; }
.ef-column-resizer:hover, .ef-column-resizer:active { background: color-mix(in srgb, var(--primary) 22%, transparent); }
.ef-command-open > span { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 6px; background: rgba(0, 168, 143, .1); color: var(--ef-teal); }
.ef-command-open b { overflow: hidden; color: var(--ef-navy); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.ef-command-open small { color: var(--ef-muted); font-size: 9px; text-transform: uppercase; }
.ef-command-favorite { width: 32px; height: 32px; border: 0; border-radius: 7px; background: transparent; color: #b67b18; font-size: 17px; }
.ef-command-favorite:hover { background: rgba(197, 138, 32, .1); }
.ef-command-empty { padding: 30px; color: var(--ef-muted); text-align: center; }
.ef-command-palette footer { display: flex; gap: 18px; margin-top: 8px; padding: 8px 4px 0; border-top: .5px solid var(--ef-line); color: var(--ef-muted); font-size: 9px; }

.erpfin360-feature-select-all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 100%;
	margin: 0;
	cursor: pointer;
	font-weight: 500;
}
.erpfin360-feature-select-all input {
	display: inline-block !important;
	width: 14px;
	height: 14px;
	margin: 0;
	accent-color: var(--ef-teal);
	cursor: pointer;
}
.erpfin360-feature-select-all:has(input:disabled) { cursor: default; opacity: .65; }
.erpfin360-import-launcher {
  padding: 24px;
}

.erpfin360-import-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 20px;
  max-width: 960px;
}

.erpfin360-import-card {
  min-height: 72px;
  text-align: left;
  padding: 16px 18px;
  font-weight: 600;
}
