/* BlueVPS Panel – Creative Dark / Light UI */
html.bluevps-panel-page,
body.bluevps-panel-page {
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bvp-panel-root {
	--bp-bg: #060914;
	--bp-bg-elev: rgba(14, 20, 40, 0.85);
	--bp-bg-soft: rgba(22, 32, 58, 0.7);
	--bp-border: rgba(148, 163, 184, 0.12);
	--bp-text: #f1f5ff;
	--bp-muted: #9aa8c7;
	--bp-faint: #6b7a9b;
	--bp-primary: #3b82f6;
	--bp-primary-2: #60a5fa;
	--bp-accent: #22d3ee;
	--bp-glow: rgba(59, 130, 246, 0.35);
	--bp-danger: #f87171;
	--bp-radius: 18px;
	--bp-sidebar: 268px;
	--bp-shadow: 0 18px 50px rgba(0, 0, 0, 0.4);
	font-family: inherit !important;
	direction: rtl !important;
	color: var(--bp-text) !important;
	background:
		radial-gradient(ellipse 80% 50% at 100% -10%, rgba(59, 130, 246, 0.18), transparent 50%),
		radial-gradient(ellipse 60% 40% at 0% 100%, rgba(34, 211, 238, 0.1), transparent 45%),
		var(--bp-bg) !important;
	min-height: 100vh !important;
	display: flex !important;
	width: 100% !important;
	position: relative !important;
	overflow-x: hidden !important;
}

.bvp-panel-root[data-theme="light"] {
	--bp-bg: #eef2f9;
	--bp-bg-elev: rgba(255, 255, 255, 0.92);
	--bp-bg-soft: rgba(241, 245, 251, 0.95);
	--bp-border: rgba(15, 23, 42, 0.1);
	--bp-text: #0f172a;
	--bp-muted: #475569;
	--bp-faint: #64748b;
	--bp-glow: rgba(37, 99, 235, 0.2);
	--bp-shadow: 0 14px 36px rgba(15, 23, 42, 0.08);
	background:
		radial-gradient(ellipse 70% 45% at 100% 0%, rgba(59, 130, 246, 0.12), transparent 50%),
		radial-gradient(ellipse 50% 35% at 0% 100%, rgba(14, 165, 233, 0.08), transparent 45%),
		var(--bp-bg) !important;
}

.bvp-panel-root *,
.bvp-panel-root *::before,
.bvp-panel-root *::after { box-sizing: border-box !important; }

.bvp-panel-root a { color: inherit !important; text-decoration: none !important; }

/* Sidebar glass */
.bvp-panel-sidebar {
	width: var(--bp-sidebar) !important;
	max-width: var(--bp-sidebar) !important;
	flex-shrink: 0 !important;
	background: linear-gradient(180deg, rgba(12, 18, 36, 0.95), rgba(8, 12, 26, 0.98)) !important;
	border-left: 1px solid var(--bp-border) !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 1.15rem 0.9rem !important;
	/* Fixed so it never scrolls away with page content */
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	height: 100vh !important;
	height: 100dvh !important;
	z-index: 60 !important;
	backdrop-filter: blur(16px) !important;
	overflow-x: hidden !important;
	overflow-y: hidden !important;
	box-sizing: border-box !important;
}

.bvp-panel-root[data-theme="light"] .bvp-panel-sidebar {
	background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248, 250, 252, 0.95)) !important;
}

.bvp-panel-brand {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.65rem 0.75rem 1.15rem !important;
	border-bottom: 1px solid var(--bp-border) !important;
	margin-bottom: 1rem !important;
}
.bvp-panel-brand-link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	text-decoration: none !important;
}
.bvp-panel-brand-logo {
	display: block !important;
	max-width: 168px !important;
	width: 100% !important;
	height: auto !important;
	max-height: 48px !important;
	object-fit: contain !important;
	object-position: center !important;
}

.bvp-panel-nav {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.28rem !important;
	flex: 1 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	width: 100% !important;
	box-sizing: border-box !important;
	scrollbar-width: thin !important;
}

.bvp-panel-nav-item {
	display: flex !important;
	align-items: center !important;
	gap: 0.55rem !important;
	padding: 0.72rem 0.75rem !important;
	border-radius: 14px !important;
	color: var(--bp-muted) !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	position: relative !important;
	transition: background 0.2s, color 0.2s, box-shadow 0.2s !important;
	border: 1px solid transparent !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

.bvp-panel-nav-item:hover {
	background: var(--bp-bg-soft) !important;
	color: var(--bp-text) !important;
	transform: none !important;
}

.bvp-panel-nav-item.is-active {
	background: linear-gradient(120deg, rgba(59, 130, 246, 0.22), rgba(34, 211, 238, 0.08)) !important;
	color: var(--bp-text) !important;
	border-color: rgba(59, 130, 246, 0.28) !important;
	box-shadow: 0 0 24px rgba(59, 130, 246, 0.12) !important;
}

.bvp-panel-nav-dot {
	margin-right: auto !important;
	width: 7px !important;
	height: 7px !important;
	border-radius: 50% !important;
	background: var(--bp-accent) !important;
	box-shadow: 0 0 10px var(--bp-accent) !important;
}

.bvp-panel-nav-icon {
	width: 20px !important;
	height: 20px !important;
	display: inline-flex !important;
	color: var(--bp-primary-2) !important;
	flex-shrink: 0 !important;
}
.bvp-panel-nav-icon svg { width: 20px !important; height: 20px !important; }
.bvp-panel-nav-label {
	flex: 1 !important;
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

/* sidebar-foot restyled below */

.bvp-panel-nav-logout:hover {
	color: #fca5a5 !important;
	background: rgba(248, 113, 113, 0.1) !important;
}

/* Main + Topbar – offset for fixed sidebar (RTL: sidebar on the right) */
.bvp-panel-main {
	flex: 1 !important;
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	margin-right: var(--bp-sidebar) !important;
	width: auto !important;
	max-width: 100% !important;
}

.bvp-panel-topbar {
	display: flex !important;
	align-items: center !important;
	gap: 0.9rem !important;
	padding: 0.95rem 1.4rem !important;
	border-bottom: 1px solid var(--bp-border) !important;
	background: color-mix(in srgb, var(--bp-bg-elev) 80%, transparent) !important;
	backdrop-filter: blur(18px) saturate(1.2) !important;
	position: sticky !important;
	top: 0 !important;
	z-index: 40 !important;
	overflow: visible !important;
}

/* Breadcrumb */
.bvp-panel-breadcrumb {
	flex: 1 !important;
	min-width: 0 !important;
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 0.45rem !important;
	font-size: 0.95rem !important;
}

.bvp-bc-home {
	color: var(--bp-muted) !important;
	font-weight: 500 !important;
	transition: color 0.2s !important;
}
.bvp-bc-home:hover {
	color: var(--bp-primary-2) !important;
}

.bvp-bc-sep {
	color: var(--bp-faint) !important;
	font-size: 1.05rem !important;
	line-height: 1 !important;
	opacity: 0.7 !important;
	user-select: none !important;
}

.bvp-bc-current {
	color: var(--bp-text) !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
}

.bvp-panel-topbar-actions {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	overflow: visible !important;
	position: relative !important;
	z-index: 45 !important;
}

.bvp-panel-icon-btn {
	width: 42px !important;
	height: 42px !important;
	border-radius: 14px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-text) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	padding: 0 !important;
}
.bvp-panel-icon-btn svg { width: 18px !important; height: 18px !important; }

/* Theme switch – pill with !important */
.bvp-theme-switch {
	position: relative !important;
	width: 56px !important;
	height: 32px !important;
	padding: 0 !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: 999px !important;
	background: var(--bp-bg-soft) !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	box-shadow: inset 0 1px 2px rgba(0,0,0,0.15) !important;
	transition: background 0.25s, border-color 0.25s, box-shadow 0.25s !important;
	overflow: hidden !important;
}

.bvp-theme-switch:hover {
	border-color: rgba(59, 130, 246, 0.45) !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12) !important;
}

.bvp-theme-track {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.bvp-theme-thumb {
	position: absolute !important;
	top: 3px !important;
	right: 3px !important;
	width: 24px !important;
	height: 24px !important;
	border-radius: 50% !important;
	background: linear-gradient(145deg, #3b82f6, #2563eb) !important;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.45) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: transform 0.3s cubic-bezier(.34,1.2,.64,1), background 0.25s !important;
	color: #fff !important;
}

.bvp-panel-root[data-theme="light"] .bvp-theme-thumb {
	transform: translateX(-24px) !important;
	background: linear-gradient(145deg, #f59e0b, #f97316) !important;
	box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4) !important;
}

.bvp-theme-thumb svg {
	width: 14px !important;
	height: 14px !important;
	display: block !important;
}

.bvp-theme-sun { display: none !important; }
.bvp-theme-moon { display: inline-flex !important; }
.bvp-panel-root[data-theme="light"] .bvp-theme-sun { display: inline-flex !important; }
.bvp-panel-root[data-theme="light"] .bvp-theme-moon { display: none !important; }

/* User chip – creative */
.bvp-panel-userchip {
	display: flex !important;
	align-items: center !important;
	gap: 0.65rem !important;
	padding: 0.3rem 0.75rem 0.3rem 0.3rem !important;
	border-radius: 999px !important;
	border: 1px solid var(--bp-border) !important;
	background: linear-gradient(120deg, var(--bp-bg-soft), transparent) !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
	max-width: 220px !important;
}

.bvp-panel-avatar {
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 50%, #06b6d4 100%) !important;
	color: #fff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: 800 !important;
	font-size: 0.9rem !important;
	box-shadow:
		0 0 0 2px rgba(255,255,255,0.12),
		0 6px 16px rgba(59, 130, 246, 0.35) !important;
	flex-shrink: 0 !important;
}

.bvp-panel-userchip-meta {
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.1rem !important;
}

.bvp-panel-username {
	display: block !important;
	font-size: 0.86rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	color: var(--bp-text) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 140px !important;
}

.bvp-panel-role {
	display: inline-flex !important;
	align-items: center !important;
	width: fit-content !important;
	font-size: 0.68rem !important;
	font-weight: 600 !important;
	color: var(--bp-primary-2) !important;
	background: rgba(59, 130, 246, 0.12) !important;
	border: 1px solid rgba(59, 130, 246, 0.22) !important;
	padding: 0.1rem 0.45rem !important;
	border-radius: 999px !important;
	line-height: 1.3 !important;
}

.bvp-panel-content {
	padding: 1.4rem 1.5rem 2rem !important;
	flex: 1 !important;
}

/* Cards / stats – glass */
.bvp-dash-welcome h2 {
	margin: 0 0 0.4rem !important;
	font-size: 1.4rem !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
}
.bvp-dash-welcome p {
	margin: 0 0 1.35rem !important;
	color: var(--bp-muted) !important;
	line-height: 1.7 !important;
}

.bvp-stat-row {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 1rem !important;
	margin-bottom: 1.25rem !important;
}

.bvp-stat-card {
	position: relative !important;
	background: var(--bp-bg-elev) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: var(--bp-radius) !important;
	padding: 1.2rem 1.2rem 1.15rem !important;
	box-shadow: var(--bp-shadow) !important;
	overflow: hidden !important;
	backdrop-filter: blur(10px) !important;
	transition: transform 0.25s, border-color 0.25s, box-shadow 0.25s !important;
}

.bvp-stat-card::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	width: 90px !important;
	height: 90px !important;
	background: radial-gradient(circle, var(--bp-glow), transparent 70%) !important;
	opacity: 0.55 !important;
	pointer-events: none !important;
}

.bvp-stat-card:hover {
	transform: translateY(-3px) !important;
	border-color: rgba(59, 130, 246, 0.35) !important;
	box-shadow: 0 0 28px rgba(59, 130, 246, 0.15), var(--bp-shadow) !important;
}

.bvp-stat-label {
	display: block !important;
	color: var(--bp-faint) !important;
	font-size: 0.78rem !important;
	margin-bottom: 0.4rem !important;
	position: relative !important;
}
.bvp-stat-value {
	display: block !important;
	font-size: 1.7rem !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	position: relative !important;
	background: linear-gradient(120deg, var(--bp-text), var(--bp-primary-2)) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
}
.bvp-stat-card small {
	color: var(--bp-muted) !important;
	font-size: 0.75rem !important;
	position: relative !important;
}

.bvp-card {
	background: var(--bp-bg-elev) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: var(--bp-radius) !important;
	padding: 1.2rem 1.25rem !important;
	margin-bottom: 1rem !important;
	box-shadow: var(--bp-shadow) !important;
	backdrop-filter: blur(10px) !important;
}

.bvp-card-muted {
	background: var(--bp-bg-soft) !important;
	box-shadow: none !important;
}

.bvp-card-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
	margin-bottom: 0.95rem !important;
}
.bvp-card-head h3 {
	margin: 0 !important;
	font-size: 1.02rem !important;
	font-weight: 700 !important;
}

.bvp-badge-soft {
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	padding: 0.28rem 0.65rem !important;
	border-radius: 999px !important;
	background: rgba(59, 130, 246, 0.15) !important;
	color: var(--bp-primary-2) !important;
	border: 1px solid rgba(59, 130, 246, 0.28) !important;
}

.bvp-quick-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 0.9rem !important;
}

.bvp-quick {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.35rem !important;
	padding: 1.05rem !important;
	border-radius: 16px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s !important;
}
.bvp-quick:hover {
	transform: translateY(-3px) !important;
	border-color: rgba(59, 130, 246, 0.45) !important;
	box-shadow: 0 0 22px rgba(59, 130, 246, 0.18) !important;
}
.bvp-quick strong { font-size: 0.92rem !important; }
.bvp-quick small { color: var(--bp-faint) !important; font-size: 0.75rem !important; }

.bvp-hint {
	margin: 0 !important;
	color: var(--bp-muted) !important;
	line-height: 1.75 !important;
	font-size: 0.92rem !important;
}
.bvp-roadmap {
	margin: 0.85rem 0 0 !important;
	padding: 0 1.1rem 0 0 !important;
	color: var(--bp-muted) !important;
	line-height: 1.9 !important;
	font-size: 0.9rem !important;
}

/* Auth – full page centered card */
.bvp-panel-root.bvp-panel-auth {
	min-height: 100vh !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 2rem 1rem !important;
	flex-direction: row !important;
}

.bvp-auth-wrap {
	width: 100% !important;
	max-width: 420px !important;
	margin: 0 auto !important;
}

.bvp-auth-card {
	background: var(--bp-bg-elev) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: 22px !important;
	padding: 1.75rem 1.6rem !important;
	box-shadow: var(--bp-shadow) !important;
	backdrop-filter: blur(16px) !important;
	width: 100% !important;
}

.bvp-auth-brand {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	margin-bottom: 1.25rem !important;
}
.bvp-auth-brand-text {
	flex: 1 !important;
	min-width: 0 !important;
}
.bvp-auth-brand strong { display: block !important; font-size: 1.05rem !important; }
.bvp-auth-brand small { color: var(--bp-faint) !important; font-size: 0.78rem !important; }
.bvp-auth-brand .bvp-theme-switch { flex-shrink: 0 !important; }

.bvp-auth-body {
	width: 100% !important;
}
.bvp-auth-form {
	width: 100% !important;
	margin: 0 !important;
}

.bvp-auth-alert {
	background: rgba(248, 113, 113, 0.12) !important;
	border: 1px solid rgba(248, 113, 113, 0.35) !important;
	color: var(--bp-danger) !important;
	padding: 0.7rem 0.9rem !important;
	border-radius: 12px !important;
	margin-bottom: 1rem !important;
	font-size: 0.88rem !important;
}

.bvp-field {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.4rem !important;
	margin-bottom: 0.9rem !important;
	font-size: 0.85rem !important;
	color: var(--bp-muted) !important;
}
.bvp-field input {
	padding: 0.85rem 1rem !important;
	border-radius: 12px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-text) !important;
	font: inherit !important;
	outline: none !important;
}
.bvp-field input:focus {
	border-color: rgba(59, 130, 246, 0.55) !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15) !important;
}
.bvp-field input:disabled {
	opacity: 0.75 !important;
	cursor: not-allowed !important;
}

.bvp-check {
	display: flex !important;
	align-items: center !important;
	gap: 0.45rem !important;
	font-size: 0.85rem !important;
	color: var(--bp-muted) !important;
	margin-bottom: 1rem !important;
}

.bvp-auth-submit {
	width: 100% !important;
	padding: 0.9rem 1rem !important;
	border: none !important;
	border-radius: 12px !important;
	font: inherit !important;
	font-weight: 700 !important;
	color: #fff !important;
	cursor: pointer !important;
	background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
	box-shadow: 0 10px 24px rgba(37, 99, 235, 0.4) !important;
}

.bvp-auth-note {
	margin: 1rem 0 0 !important;
	text-align: center !important;
	font-size: 0.8rem !important;
	color: var(--bp-faint) !important;
}

.bvp-panel-backdrop {
	display: none !important;
	position: fixed !important;
	inset: 0 !important;
	background: rgba(0, 0, 0, 0.5) !important;
	z-index: 80 !important;
	backdrop-filter: blur(2px) !important;
}

#bvp-panel-menu-btn { display: none !important; }

@media (max-width: 1100px) {
	.bvp-stat-row,
	.bvp-quick-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 860px) {
	.bvp-panel-sidebar {
		position: fixed !important;
		right: 0 !important;
		top: 0 !important;
		bottom: 0 !important;
		z-index: 100 !important;
		transform: translateX(105%) !important;
		transition: transform 0.28s ease !important;
		box-shadow: var(--bp-shadow) !important;
	}
	.bvp-panel-root.sidebar-open .bvp-panel-sidebar {
		transform: translateX(0) !important;
		z-index: 100 !important;
	}
	.bvp-panel-root.sidebar-open .bvp-panel-backdrop {
		display: block !important;
		z-index: 90 !important;
	}
	.bvp-panel-main {
		margin-right: 0 !important;
	}
	#bvp-panel-menu-btn { display: inline-flex !important; }
}

@media (max-width: 560px) {
	.bvp-stat-row,
	.bvp-quick-grid { grid-template-columns: 1fr !important; }
	.bvp-panel-content { padding: 1rem !important; }
	.bvp-panel-breadcrumb { font-size: 0.88rem !important; }
}


/* Sidebar user (minimal) */
.bvp-panel-sidebar-foot {
	border-top: 1px solid var(--bp-border) !important;
	padding-top: 0.85rem !important;
	margin-top: 0.7rem !important;
}

.bvp-panel-side-context {
	display: block !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	color: var(--bp-faint) !important;
	letter-spacing: 0.02em !important;
	padding: 0 0.35rem 0.4rem !important;
	line-height: 1.3 !important;
}
.bvp-panel-side-user {
	display: flex !important;
	align-items: center !important;
	gap: 0.65rem !important;
	padding: 0.45rem 0.55rem !important;
	border-radius: 14px !important;
	background: var(--bp-bg-soft) !important;
	border: 1px solid var(--bp-border) !important;
	min-width: 0 !important;
}

.bvp-panel-side-avatar {
	width: 34px !important;
	height: 34px !important;
	border-radius: 50% !important;
	flex-shrink: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: 800 !important;
	font-size: 0.82rem !important;
	color: #fff !important;
	background: linear-gradient(135deg, #3b82f6, #8b5cf6) !important;
	box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3) !important;
}

.bvp-panel-side-user-meta {
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.05rem !important;
}

.bvp-panel-side-name {
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	color: var(--bp-text) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 150px !important;
	line-height: 1.25 !important;
}

.bvp-panel-side-role {
	font-size: 0.68rem !important;
	color: var(--bp-faint) !important;
	line-height: 1.2 !important;
}

/* Header logout (power) */
.bvp-panel-logout-btn {
	width: 42px !important;
	height: 42px !important;
	border-radius: 14px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-muted) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: color 0.2s, background 0.2s, border-color 0.2s, box-shadow 0.2s !important;
}
.bvp-panel-logout-btn svg {
	width: 18px !important;
	height: 18px !important;
}
.bvp-panel-logout-btn:hover {
	color: #f87171 !important;
	background: rgba(248, 113, 113, 0.12) !important;
	border-color: rgba(248, 113, 113, 0.35) !important;
	box-shadow: 0 0 16px rgba(248, 113, 113, 0.2) !important;
}


/* ========== Responsive + Mobile footer nav ========== */
.bvp-mobile-nav {
	display: none !important;
}

@media (max-width: 1100px) {
	.bvp-stat-row,
	.bvp-quick-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 900px) {
	.bvp-panel-sidebar {
		position: fixed !important;
		right: 0 !important;
		top: 0 !important;
		bottom: 0 !important;
		width: min(86vw, 300px) !important;
		max-width: min(86vw, 300px) !important;
		z-index: 100 !important;
		transform: translateX(105%) !important;
		transition: transform 0.3s cubic-bezier(.22,1,.36,1) !important;
		box-shadow: -12px 0 40px rgba(0, 0, 0, 0.45) !important;
		height: 100vh !important;
		height: 100dvh !important;
	}

	.bvp-panel-root.sidebar-open .bvp-panel-sidebar {
		transform: translateX(0) !important;
		z-index: 100 !important;
	}

	.bvp-panel-root.sidebar-open .bvp-panel-backdrop {
		display: block !important;
		z-index: 90 !important;
	}

	/* Keep topbar under open sidebar + backdrop */
	.bvp-panel-topbar {
		z-index: 40 !important;
	}

	#bvp-panel-menu-btn {
		display: none !important; /* footer "بیشتر" opens sidebar */
	}

	.bvp-panel-main {
		width: 100% !important;
		margin-right: 0 !important;
	}

	.bvp-panel-topbar {
		padding: 0.75rem 1rem !important;
	}

	.bvp-panel-content {
		padding: 1rem 1rem 5.5rem !important; /* space for footer nav */
	}

	/* Sticky creative footer nav */
	.bvp-mobile-nav {
		display: flex !important;
		position: fixed !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 50 !important;
		align-items: stretch !important;
		justify-content: space-around !important;
		gap: 0.15rem !important;
		padding: 0.45rem 0.5rem calc(0.45rem + env(safe-area-inset-bottom, 0px)) !important;
		background: color-mix(in srgb, var(--bp-bg-elev) 88%, transparent) !important;
		border-top: 1px solid var(--bp-border) !important;
		backdrop-filter: blur(18px) saturate(1.25) !important;
		-webkit-backdrop-filter: blur(18px) saturate(1.25) !important;
		box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.25) !important;
	}

	.bvp-panel-root[data-theme="light"] .bvp-mobile-nav {
		box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.08) !important;
	}

	.bvp-mobile-nav-item {
		flex: 1 1 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0.22rem !important;
		padding: 0.4rem 0.2rem 0.35rem !important;
		min-width: 0 !important;
		border: none !important;
		background: transparent !important;
		color: var(--bp-faint) !important;
		font: inherit !important;
		font-size: 0.65rem !important;
		font-weight: 600 !important;
		cursor: pointer !important;
		text-decoration: none !important;
		border-radius: 16px !important;
		position: relative !important;
		transition: color 0.25s ease, transform 0.25s ease !important;
		-webkit-tap-highlight-color: transparent !important;
		isolation: isolate !important;
	}

	.bvp-mobile-nav-item::before {
		content: '' !important;
		position: absolute !important;
		inset: 2px 4px !important;
		border-radius: 14px !important;
		background: transparent !important;
		opacity: 0 !important;
		transition: opacity 0.25s ease, background 0.25s ease, box-shadow 0.25s ease !important;
		z-index: -1 !important;
	}

	/* Hover / focus */
	.bvp-mobile-nav-item:hover,
	.bvp-mobile-nav-item:focus-visible {
		color: var(--bp-primary-2) !important;
		outline: none !important;
	}

	.bvp-mobile-nav-item:hover::before,
	.bvp-mobile-nav-item:focus-visible::before {
		opacity: 1 !important;
		background: linear-gradient(160deg, rgba(59, 130, 246, 0.14), rgba(34, 211, 238, 0.06)) !important;
		box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.2) !important;
	}

	.bvp-mobile-nav-item:hover .bvp-mobile-nav-icon,
	.bvp-mobile-nav-item:focus-visible .bvp-mobile-nav-icon {
		transform: translateY(-3px) scale(1.08) !important;
		color: var(--bp-primary-2) !important;
		filter: drop-shadow(0 4px 8px rgba(59, 130, 246, 0.35)) !important;
	}

	.bvp-mobile-nav-item:hover .bvp-mobile-nav-label,
	.bvp-mobile-nav-item:focus-visible .bvp-mobile-nav-label {
		letter-spacing: 0.02em !important;
	}

	.bvp-mobile-nav-icon {
		width: 42px !important;
		height: 30px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		border-radius: 14px !important;
		transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.3s cubic-bezier(.34,1.4,.64,1), color 0.25s ease, filter 0.25s ease !important;
		color: inherit !important;
		position: relative !important;
	}

	.bvp-mobile-nav-icon svg {
		width: 20px !important;
		height: 20px !important;
		display: block !important;
		transition: transform 0.3s ease !important;
	}

	.bvp-mobile-nav-label {
		display: block !important;
		max-width: 100% !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
		line-height: 1.2 !important;
		transition: letter-spacing 0.25s ease, color 0.25s ease !important;
	}

	/* Active – minimal */
	.bvp-mobile-nav-item.is-active {
		color: var(--bp-primary-2) !important;
	}

	.bvp-mobile-nav-item.is-active::before {
		opacity: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.bvp-mobile-nav-item.is-active .bvp-mobile-nav-icon {
		background: transparent !important;
		color: var(--bp-primary-2) !important;
		box-shadow: none !important;
		transform: translateY(-2px) !important;
	}

	.bvp-mobile-nav-item.is-active .bvp-mobile-nav-icon svg {
		transform: none !important;
	}

	.bvp-mobile-nav-item.is-active .bvp-mobile-nav-label {
		color: var(--bp-primary-2) !important;
		font-weight: 700 !important;
	}

	.bvp-mobile-nav-item.is-active::after {
		content: none !important;
		display: none !important;
	}

	.bvp-mobile-nav-item:active {
		transform: scale(0.94) !important;
	}

	/* Hamburger / more – no rounded box */
	.bvp-mobile-more .bvp-mobile-nav-icon {
		border: none !important;
		background: transparent !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	.bvp-mobile-more:hover .bvp-mobile-nav-icon,
	.bvp-panel-root.sidebar-open .bvp-mobile-more .bvp-mobile-nav-icon {
		border: none !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.bvp-panel-root.sidebar-open .bvp-mobile-more {
		color: var(--bp-primary-2) !important;
	}

	.bvp-panel-root[data-theme="light"] .bvp-mobile-nav-item.is-active {
		color: #2563eb !important;
	}

	.bvp-panel-root[data-theme="light"] .bvp-mobile-nav-item.is-active .bvp-mobile-nav-label {
		color: #1d4ed8 !important;
	}

	.bvp-panel-root[data-theme="light"] .bvp-mobile-nav-item.is-active::after {
		background: #2563eb !important;
	}
}

@media (max-width: 560px) {
	.bvp-quick-grid {
		grid-template-columns: 1fr !important;
	}
	.bvp-stat-row {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.bvp-panel-content {
		padding: 0.85rem 0.85rem 5.75rem !important;
	}

	.bvp-panel-breadcrumb {
		font-size: 0.86rem !important;
	}

	.bvp-panel-topbar-actions {
		gap: 0.45rem !important;
	}

	.bvp-theme-switch {
		width: 50px !important;
		height: 30px !important;
	}

	.bvp-panel-logout-btn,
	.bvp-panel-icon-btn {
		width: 38px !important;
		height: 38px !important;
		border-radius: 12px !important;
	}

	.bvp-stat-value {
		font-size: 1.45rem !important;
	}

	.bvp-mobile-nav-label {
		font-size: 0.62rem !important;
	}
}

@media (max-width: 380px) {
	.bvp-mobile-nav-item {
		padding: 0.35rem 0.1rem !important;
	}
	.bvp-mobile-nav-label {
		font-size: 0.58rem !important;
	}
}


/* Dashboard welcome row */
.bvp-dash-welcome {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	flex-wrap: wrap !important;
	margin-bottom: 0.25rem !important;
}
.bvp-dash-cta {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.55rem 1rem !important;
	border-radius: 12px !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	color: #fff !important;
	background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
	box-shadow: 0 8px 20px rgba(37, 99, 235, 0.35) !important;
	border: none !important;
}

/* World map card */
.bvp-map-card {
	background: var(--bp-bg-elev) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: var(--bp-radius) !important;
	padding: 1.15rem 1.2rem 1rem !important;
	margin-bottom: 1.15rem !important;
	box-shadow: var(--bp-shadow) !important;
	overflow: hidden !important;
}

.bvp-map-head {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	margin-bottom: 0.9rem !important;
}
.bvp-map-head h3 {
	margin: 0 0 0.25rem !important;
	font-size: 1.02rem !important;
	font-weight: 700 !important;
}
.bvp-map-head p {
	margin: 0 !important;
	font-size: 0.8rem !important;
	color: var(--bp-faint) !important;
}

.bvp-map-live {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.4rem !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: #4ade80 !important;
	background: rgba(34, 197, 94, 0.12) !important;
	border: 1px solid rgba(34, 197, 94, 0.3) !important;
	padding: 0.28rem 0.65rem !important;
	border-radius: 999px !important;
}
.bvp-map-live i {
	width: 7px !important;
	height: 7px !important;
	border-radius: 50% !important;
	background: #22c55e !important;
	box-shadow: 0 0 8px #22c55e !important;
	animation: bvp-live-blink 1.6s ease-in-out infinite !important;
	display: block !important;
}
@keyframes bvp-live-blink {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.35; }
}

.bvp-map-stage {
	position: relative !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	border: 1px solid var(--bp-border) !important;
	background: #121826 !important;
	aspect-ratio: 2 / 1 !important;
	max-height: 340px !important;
}

.bvp-world-map-img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	opacity: 0.95 !important;
}

.bvp-world-map {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.bvp-panel-root[data-theme="light"] .bvp-map-stage {
	background: #e8eef8 !important;
}
.bvp-panel-root[data-theme="light"] .bvp-world-map-img {
	filter: invert(1) hue-rotate(180deg) brightness(0.85) contrast(1.05) !important;
	opacity: 0.9 !important;
}
.bvp-panel-root[data-theme="light"] .bvp-world-map rect {
	fill: #c5d6ef !important;
}

.bvp-map-pins {
	position: absolute !important;
	inset: 0 !important;
	pointer-events: none !important;
}

.bvp-map-pin {
	pointer-events: auto !important;
	position: absolute !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	transform: translate(-50%, -50%) !important;
	cursor: pointer !important;
	z-index: 2 !important;
}

.bvp-pin-dot {
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	width: 10px !important;
	height: 10px !important;
	margin: -5px 0 0 -5px !important;
	border-radius: 50% !important;
	background: #22c55e !important;
	box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.5), 0 0 12px rgba(34, 197, 94, 0.7) !important;
	z-index: 2 !important;
}

.bvp-map-pin.is-warn .bvp-pin-dot {
	background: #eab308 !important;
	box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.5), 0 0 12px rgba(234, 179, 8, 0.7) !important;
}
.bvp-map-pin.is-off .bvp-pin-dot {
	background: #f87171 !important;
	box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.5), 0 0 12px rgba(248, 113, 113, 0.7) !important;
}

.bvp-pin-pulse {
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	width: 10px !important;
	height: 10px !important;
	margin: -5px 0 0 -5px !important;
	border-radius: 50% !important;
	background: rgba(34, 197, 94, 0.45) !important;
	animation: bvp-pin-pulse 2s ease-out infinite !important;
	z-index: 1 !important;
}
.bvp-map-pin.is-warn .bvp-pin-pulse { background: rgba(234, 179, 8, 0.45) !important; }
.bvp-map-pin.is-off .bvp-pin-pulse { background: rgba(248, 113, 113, 0.45) !important; animation-duration: 1.2s !important; }

@keyframes bvp-pin-pulse {
	0% { transform: scale(1); opacity: 0.85; }
	70% { transform: scale(3.2); opacity: 0; }
	100% { transform: scale(3.2); opacity: 0; }
}

.bvp-pin-tip {
	position: absolute !important;
	bottom: calc(100% + 10px) !important;
	left: 50% !important;
	transform: translateX(-50%) translateY(4px) !important;
	min-width: 140px !important;
	padding: 0.5rem 0.7rem !important;
	border-radius: 12px !important;
	background: rgba(8, 12, 26, 0.95) !important;
	border: 1px solid rgba(96, 165, 250, 0.35) !important;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4) !important;
	color: #e2e8f0 !important;
	text-align: center !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s !important;
	z-index: 5 !important;
	white-space: nowrap !important;
}
.bvp-panel-root[data-theme="light"] .bvp-pin-tip {
	background: rgba(255, 255, 255, 0.98) !important;
	color: #0f172a !important;
	border-color: rgba(37, 99, 235, 0.25) !important;
}
.bvp-pin-tip strong {
	display: block !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	margin-bottom: 0.15rem !important;
}
.bvp-pin-tip small {
	display: block !important;
	font-size: 0.72rem !important;
	color: #94a3b8 !important;
	font-weight: 500 !important;
}
.bvp-panel-root[data-theme="light"] .bvp-pin-tip small { color: #64748b !important; }

.bvp-map-pin:hover .bvp-pin-tip,
.bvp-map-pin:focus .bvp-pin-tip {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateX(-50%) translateY(0) !important;
}
.bvp-map-pin:hover .bvp-pin-dot,
.bvp-map-pin:focus .bvp-pin-dot {
	transform: scale(1.25) !important;
}

.bvp-map-legend {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 1rem !important;
	margin-top: 0.85rem !important;
	font-size: 0.75rem !important;
	color: var(--bp-muted) !important;
}
.bvp-map-legend span {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
}
.bvp-map-legend i {
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	display: inline-block !important;
}
.bvp-leg-on { background: #22c55e !important; box-shadow: 0 0 6px #22c55e !important; }
.bvp-leg-warn { background: #eab308 !important; box-shadow: 0 0 6px #eab308 !important; }
.bvp-leg-off { background: #f87171 !important; box-shadow: 0 0 6px #f87171 !important; }

@media (max-width: 560px) {
	.bvp-map-stage {
		aspect-ratio: 1.6 / 1 !important;
		max-height: 240px !important;
	}
	.bvp-pin-tip {
		min-width: 120px !important;
		white-space: normal !important;
	}
}


/* Map + chart split */
.bvp-dash-split {
	display: grid !important;
	grid-template-columns: 1.35fr 1fr !important;
	gap: 1.15rem !important;
	margin-bottom: 1.15rem !important;
	align-items: stretch !important;
}

.bvp-chart-card {
	background: var(--bp-bg-elev) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: var(--bp-radius) !important;
	padding: 1.15rem 1.2rem 1rem !important;
	box-shadow: var(--bp-shadow) !important;
	display: flex !important;
	flex-direction: column !important;
}

.bvp-chart-body {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	min-height: 220px !important;
}

.bvp-chart-bars {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 0.55rem !important;
	flex: 1 !important;
	min-height: 140px !important;
	padding: 0.5rem 0.25rem 0 !important;
	border-bottom: 1px solid var(--bp-border) !important;
}

.bvp-chart-col {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 0.4rem !important;
	height: 100% !important;
	justify-content: flex-end !important;
}

.bvp-bar {
	display: block !important;
	width: 100% !important;
	max-width: 36px !important;
	height: var(--h, 40%) !important;
	border-radius: 10px 10px 6px 6px !important;
	background: linear-gradient(180deg, rgba(96, 165, 250, 0.95), rgba(37, 99, 235, 0.45)) !important;
	box-shadow: 0 0 16px rgba(59, 130, 246, 0.25) !important;
	transition: height 0.4s ease, filter 0.2s !important;
}

.bvp-bar.is-peak {
	background: linear-gradient(180deg, #22d3ee, #3b82f6) !important;
	box-shadow: 0 0 20px rgba(34, 211, 238, 0.35) !important;
}

.bvp-chart-col:hover .bvp-bar {
	filter: brightness(1.12) !important;
}

.bvp-chart-col small {
	font-size: 0.72rem !important;
	color: var(--bp-faint) !important;
	font-weight: 600 !important;
}

.bvp-chart-stats {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 0.65rem !important;
}

.bvp-chart-stats > div {
	background: var(--bp-bg-soft) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: 12px !important;
	padding: 0.65rem 0.7rem !important;
	text-align: center !important;
}

.bvp-chart-stat-label {
	display: block !important;
	font-size: 0.7rem !important;
	color: var(--bp-faint) !important;
	margin-bottom: 0.25rem !important;
}

.bvp-chart-stats strong {
	font-size: 0.92rem !important;
	font-weight: 800 !important;
	color: var(--bp-text) !important;
}

.bvp-chart-stats strong.is-good {
	color: #4ade80 !important;
}

@media (max-width: 960px) {
	.bvp-dash-split {
		grid-template-columns: 1fr !important;
	}
}


/* ===== Server locations (no map) ===== */
.bvp-loc-card {
	background: var(--bp-bg-elev) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: var(--bp-radius) !important;
	padding: 1.15rem 1.2rem 1rem !important;
	box-shadow: var(--bp-shadow) !important;
}

.bvp-loc-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.65rem !important;
}

.bvp-loc-item {
	display: grid !important;
	grid-template-columns: auto 1fr auto !important;
	align-items: center !important;
	gap: 0.85rem !important;
	padding: 0.85rem 0.95rem !important;
	border-radius: 16px !important;
	border: 1px solid var(--bp-border) !important;
	background: linear-gradient(120deg, var(--bp-bg-soft), transparent) !important;
	position: relative !important;
	overflow: hidden !important;
	transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s !important;
}

.bvp-loc-item:hover {
	transform: translateY(-2px) !important;
	border-color: rgba(96, 165, 250, 0.35) !important;
	box-shadow: 0 10px 28px rgba(37, 99, 235, 0.12) !important;
}

.bvp-loc-pulse-wrap {
	position: relative !important;
	width: 28px !important;
	height: 28px !important;
	flex-shrink: 0 !important;
}

.bvp-loc-core {
	position: absolute !important;
	inset: 8px !important;
	border-radius: 50% !important;
	background: #22c55e !important;
	box-shadow: 0 0 10px rgba(34, 197, 94, 0.7) !important;
	z-index: 2 !important;
}

.bvp-loc-pulse {
	position: absolute !important;
	inset: 4px !important;
	border-radius: 50% !important;
	background: rgba(34, 197, 94, 0.35) !important;
	animation: bvp-loc-pulse 2s ease-out infinite !important;
	z-index: 1 !important;
}

@keyframes bvp-loc-pulse {
	0% { transform: scale(0.85); opacity: 0.9; }
	100% { transform: scale(2.2); opacity: 0; }
}

.bvp-loc-meta { min-width: 0 !important; }

.bvp-loc-top {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	flex-wrap: wrap !important;
	margin-bottom: 0.15rem !important;
}

.bvp-loc-top strong {
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: var(--bp-text) !important;
}

.bvp-loc-badge {
	font-size: 0.65rem !important;
	font-weight: 700 !important;
	padding: 0.12rem 0.45rem !important;
	border-radius: 999px !important;
	background: rgba(34, 197, 94, 0.15) !important;
	color: #4ade80 !important;
	border: 1px solid rgba(34, 197, 94, 0.3) !important;
}

.bvp-loc-meta > small {
	display: block !important;
	font-size: 0.75rem !important;
	color: var(--bp-faint) !important;
	margin-bottom: 0.35rem !important;
}

.bvp-loc-metrics {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.65rem !important;
	font-size: 0.75rem !important;
	color: var(--bp-muted) !important;
}

.bvp-loc-metrics b {
	color: var(--bp-text) !important;
	font-weight: 700 !important;
}

.bvp-loc-meter {
	width: 4px !important;
	height: 42px !important;
	border-radius: 999px !important;
	background: rgba(148, 163, 184, 0.15) !important;
	position: relative !important;
	overflow: hidden !important;
	align-self: stretch !important;
	min-height: 42px !important;
}

.bvp-loc-meter i {
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: var(--m, 40%) !important;
	border-radius: 999px !important;
	background: linear-gradient(180deg, #22d3ee, #22c55e) !important;
	box-shadow: 0 0 10px rgba(34, 197, 94, 0.4) !important;
}

/* Chart with connecting line */
.bvp-chart-frame {
	position: relative !important;
	flex: 1 !important;
	min-height: 160px !important;
	display: flex !important;
	flex-direction: column !important;
}

.bvp-chart-line {
	position: absolute !important;
	left: 4% !important;
	right: 4% !important;
	top: 0 !important;
	height: calc(100% - 1.4rem) !important;
	width: 92% !important;
	z-index: 2 !important;
	pointer-events: none !important;
	overflow: visible !important;
}

.bvp-chart-path {
	filter: drop-shadow(0 0 6px rgba(59, 130, 246, 0.45));
}

.bvp-chart-bars {
	position: relative !important;
	z-index: 1 !important;
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 0.5rem !important;
	flex: 1 !important;
	min-height: 150px !important;
	padding: 0.35rem 0.2rem 0 !important;
	border-bottom: 1px solid var(--bp-border) !important;
}

.bvp-chart-col {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 0.35rem !important;
	height: 100% !important;
	position: relative !important;
}

.bvp-bar {
	display: block !important;
	width: 100% !important;
	max-width: 28px !important;
	height: var(--h, 40%) !important;
	border-radius: 8px 8px 4px 4px !important;
	background: linear-gradient(180deg, rgba(96, 165, 250, 0.35), rgba(37, 99, 235, 0.08)) !important;
	border: 1px solid rgba(96, 165, 250, 0.2) !important;
	box-shadow: none !important;
	transition: filter 0.2s, background 0.2s !important;
}

.bvp-bar.is-peak {
	background: linear-gradient(180deg, rgba(34, 211, 238, 0.45), rgba(59, 130, 246, 0.12)) !important;
	border-color: rgba(34, 211, 238, 0.35) !important;
}

.bvp-bar-node {
	position: absolute !important;
	bottom: calc(var(--h, 40%) + 1.15rem) !important;
	left: 50% !important;
	width: 9px !important;
	height: 9px !important;
	margin-left: -4.5px !important;
	border-radius: 50% !important;
	background: #60a5fa !important;
	border: 2px solid var(--bp-bg-elev) !important;
	box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.45), 0 0 12px rgba(59, 130, 246, 0.5) !important;
	z-index: 3 !important;
	/* place node at top of bar: use same --h from sibling - set on col */
}

/* Node positioned via col custom property */
.bvp-chart-col .bvp-bar-node {
	bottom: calc(1.15rem + var(--h, 40%)) !important;
}

.bvp-chart-col {
	--h: 40%;
}
.bvp-chart-col:nth-child(1) { --h: 32%; }
.bvp-chart-col:nth-child(2) { --h: 41%; }
.bvp-chart-col:nth-child(3) { --h: 55%; }
.bvp-chart-col:nth-child(4) { --h: 68%; }
.bvp-chart-col:nth-child(5) { --h: 49%; }
.bvp-chart-col:nth-child(6) { --h: 38%; }
.bvp-chart-col:nth-child(7) { --h: 29%; }

.bvp-bar-node.is-peak {
	background: #22d3ee !important;
	box-shadow: 0 0 0 2px rgba(34, 211, 238, 0.5), 0 0 14px rgba(34, 211, 238, 0.55) !important;
}

.bvp-chart-col:hover .bvp-bar {
	filter: brightness(1.2) !important;
	background: linear-gradient(180deg, rgba(96, 165, 250, 0.55), rgba(37, 99, 235, 0.15)) !important;
}

.bvp-chart-col small {
	font-size: 0.72rem !important;
	color: var(--bp-faint) !important;
	font-weight: 600 !important;
}


/* Refined loc + chart (compact) */
.bvp-loc-card,
.bvp-chart-card {
	padding: 0.95rem 1rem 0.85rem !important;
}

.bvp-loc-card .bvp-map-head,
.bvp-chart-card .bvp-map-head {
	margin-bottom: 0.65rem !important;
}

.bvp-loc-card .bvp-map-head h3,
.bvp-chart-card .bvp-map-head h3 {
	font-size: 0.9rem !important;
	font-weight: 650 !important;
}

.bvp-loc-card .bvp-map-head p,
.bvp-chart-card .bvp-map-head p {
	font-size: 0.72rem !important;
}

.bvp-map-live {
	font-size: 0.65rem !important;
	padding: 0.18rem 0.5rem !important;
}

.bvp-loc-list {
	gap: 0.45rem !important;
}

.bvp-loc-item {
	gap: 0.65rem !important;
	padding: 0.55rem 0.7rem !important;
	border-radius: 12px !important;
}

.bvp-loc-pulse-wrap {
	width: 20px !important;
	height: 20px !important;
}

.bvp-loc-core {
	inset: 6px !important;
}

.bvp-loc-pulse {
	inset: 3px !important;
}

.bvp-loc-top strong {
	font-size: 0.84rem !important;
}

.bvp-loc-badge {
	font-size: 0.6rem !important;
	padding: 0.08rem 0.38rem !important;
}

.bvp-loc-meta > small {
	font-size: 0.7rem !important;
	margin-bottom: 0.2rem !important;
}

.bvp-loc-metrics {
	gap: 0.5rem !important;
	font-size: 0.68rem !important;
}

.bvp-loc-meter {
	width: 3px !important;
	height: 32px !important;
	min-height: 32px !important;
}

.bvp-chart-body {
	min-height: 0 !important;
	gap: 0.65rem !important;
}

.bvp-chart-frame {
	min-height: 120px !important;
}

.bvp-chart-bars {
	min-height: 110px !important;
	gap: 0.4rem !important;
	padding: 0.25rem 0.15rem 0 !important;
}

.bvp-bar {
	max-width: 18px !important;
	border-radius: 6px 6px 3px 3px !important;
}

.bvp-bar-node {
	width: 6px !important;
	height: 6px !important;
	margin-left: -3px !important;
	border-width: 1.5px !important;
	box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.35), 0 0 8px rgba(59, 130, 246, 0.35) !important;
}

.bvp-chart-col .bvp-bar-node {
	bottom: calc(1.05rem + var(--h, 40%)) !important;
}

.bvp-chart-col small {
	font-size: 0.65rem !important;
}

.bvp-chart-stats {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0.35rem 0.15rem !important;
	padding: 0.15rem 0.1rem 0 !important;
	grid-template-columns: none !important;
	font-size: 0.72rem !important;
	color: var(--bp-faint) !important;
}

.bvp-chart-stats > div {
	all: unset !important;
}

.bvp-chart-stats span {
	color: var(--bp-faint) !important;
}

.bvp-chart-stats b {
	color: var(--bp-muted) !important;
	font-weight: 650 !important;
	font-size: 0.74rem !important;
}

.bvp-chart-stats b.is-good {
	color: #4ade80 !important;
}

.bvp-chart-dot {
	opacity: 0.45 !important;
	padding: 0 0.25rem !important;
}

.bvp-chart-path {
	filter: drop-shadow(0 0 4px rgba(59, 130, 246, 0.35));
}


.bvp-dash > .bvp-stat-row:first-child {
	margin-top: 0 !important;
}
.bvp-panel-content .bvp-dash {
	margin-top: 0 !important;
	padding-top: 0 !important;
}


/* Stats grid: always 2x2 on mobile */
@media (max-width: 900px) {
	.bvp-stat-row {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 560px) {
	.bvp-stat-row {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0.65rem !important;
	}
	.bvp-stat-card {
		padding: 0.85rem 0.9rem !important;
	}
	.bvp-stat-value {
		font-size: 1.25rem !important;
	}
	.bvp-stat-label {
		font-size: 0.72rem !important;
	}
	.bvp-stat-card small {
		font-size: 0.68rem !important;
	}
}

/* WHMCS modules UI */
.bvp-mod-grid {
	display: grid !important;
	grid-template-columns: 1fr 1.2fr !important;
	gap: 1rem !important;
}
@media (max-width: 960px) {
	.bvp-mod-grid { grid-template-columns: 1fr !important; }
}
.bvp-form .bvp-field { margin-bottom: 0.75rem !important; }
.bvp-form select,
.bvp-form textarea,
.bvp-form input[type="text"],
.bvp-form input[type="number"],
.bvp-form input[type="email"] {
	width: 100% !important;
	padding: 0.65rem 0.8rem !important;
	border-radius: 10px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-text) !important;
	font: inherit !important;
}
.bvp-form-row {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0.65rem !important;
}
.bvp-form-inline-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 0.75rem !important;
	align-items: end !important;
}
@media (max-width: 900px) {
	.bvp-form-inline-grid { grid-template-columns: 1fr !important; }
}
.bvp-table-wrap { overflow-x: auto !important; }
.bvp-table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 0.85rem !important;
}
.bvp-table th,
.bvp-table td {
	padding: 0.65rem 0.5rem !important;
	border-bottom: 1px solid var(--bp-border) !important;
	text-align: right !important;
	vertical-align: middle !important;
}
.bvp-table th {
	color: var(--bp-faint) !important;
	font-weight: 600 !important;
	font-size: 0.75rem !important;
}
.bvp-muted { color: var(--bp-faint) !important; }
.bvp-pill {
	display: inline-flex !important;
	padding: 0.12rem 0.45rem !important;
	border-radius: 999px !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	background: rgba(148,163,184,0.15) !important;
	color: var(--bp-muted) !important;
	border: 1px solid var(--bp-border) !important;
}
.bvp-pill.is-on {
	background: rgba(34,197,94,0.12) !important;
	color: #4ade80 !important;
	border-color: rgba(34,197,94,0.3) !important;
}
.bvp-td-actions {
	display: flex !important;
	gap: 0.5rem !important;
	align-items: center !important;
	flex-wrap: wrap !important;
}
.bvp-inline-form { display: inline !important; margin: 0 !important; }
.bvp-inline-form button:not(.bvp-prov-btn):not(.bvp-client-btn):not(.bvp-auth-submit),
.bvp-link-danger {
	background: none !important;
	border: none !important;
	color: #f87171 !important;
	cursor: pointer !important;
	font: inherit !important;
	padding: 0 !important;
}
.bvp-link-muted {
	display: inline-block !important;
	margin-top: 0.65rem !important;
	font-size: 0.85rem !important;
	color: var(--bp-faint) !important;
}
.bvp-flash {
	padding: 0.65rem 0.9rem !important;
	border-radius: 12px !important;
	margin-bottom: 0.85rem !important;
	font-size: 0.85rem !important;
}
.bvp-flash.is-ok {
	background: rgba(34,197,94,0.12) !important;
	border: 1px solid rgba(34,197,94,0.3) !important;
	color: #4ade80 !important;
}
.bvp-flash.is-err {
	background: rgba(248,113,113,0.12) !important;
	border: 1px solid rgba(248,113,113,0.3) !important;
	color: #f87171 !important;
}
.bvp-svc-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 0.75rem !important;
}
@media (max-width: 700px) {
	.bvp-svc-grid { grid-template-columns: 1fr !important; }
}
.bvp-svc-card {
	border: 1px solid var(--bp-border) !important;
	border-radius: 14px !important;
	padding: 0.9rem 1rem !important;
	background: var(--bp-bg-soft) !important;
}
.bvp-svc-top {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 0.5rem !important;
	margin-bottom: 0.55rem !important;
}
.bvp-svc-meta {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.8rem !important;
	color: var(--bp-muted) !important;
	line-height: 1.7 !important;
}
.bvp-svc-meta b { color: var(--bp-text) !important; font-weight: 600 !important; }

.bvp-tabs {
	display: flex !important;
	gap: 0.4rem !important;
	margin-bottom: 1rem !important;
	flex-wrap: wrap !important;
}
.bvp-tab {
	padding: 0.45rem 0.9rem !important;
	border-radius: 999px !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-muted) !important;
}
.bvp-tab.is-active {
	color: #fff !important;
	background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
	border-color: transparent !important;
}
.bvp-mod-grid-wide {
	grid-template-columns: 1.1fr 1fr !important;
}
.bvp-form-section {
	margin: 0.85rem 0 0.5rem !important;
	padding-top: 0.65rem !important;
	border-top: 1px solid var(--bp-border) !important;
}
.bvp-form-section-title {
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	color: var(--bp-primary-2) !important;
	letter-spacing: 0.02em !important;
}
.bvp-price-grid {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.45rem !important;
	margin-bottom: 0.75rem !important;
}
.bvp-price-row {
	display: grid !important;
	grid-template-columns: 110px 1fr 1fr !important;
	gap: 0.4rem !important;
	align-items: center !important;
}
.bvp-price-row input[type="number"] {
	padding: 0.45rem 0.55rem !important;
	border-radius: 8px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-text) !important;
	font: inherit !important;
	width: 100% !important;
}
.bvp-check-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.85rem !important;
	margin-bottom: 0.75rem !important;
}
@media (max-width: 700px) {
	.bvp-price-row { grid-template-columns: 1fr !important; }
	.bvp-mod-grid-wide { grid-template-columns: 1fr !important; }
}

.bvp-form-row-3 {
	grid-template-columns: 1fr 1fr 1fr !important;
}
@media (max-width: 900px) {
	.bvp-form-row-3 { grid-template-columns: 1fr !important; }
}
.bvp-field-hint {
	display: block !important;
	margin-top: 0.25rem !important;
	font-size: 0.68rem !important;
	color: var(--bp-faint) !important;
	line-height: 1.4 !important;
}
.bvp-btn-ghost {
	display: inline-flex !important;
	margin: 0 0 0.85rem !important;
	padding: 0.4rem 0.75rem !important;
	border-radius: 10px !important;
	border: 1px dashed var(--bp-border) !important;
	background: transparent !important;
	color: var(--bp-primary-2) !important;
	font: inherit !important;
	font-size: 0.8rem !important;
	cursor: pointer !important;
}
.bvp-btn-ghost:hover {
	border-color: rgba(96,165,250,0.5) !important;
	background: rgba(59,130,246,0.08) !important;
}
.bvp-form-actions {
	display: flex !important;
	align-items: center !important;
	gap: 1rem !important;
	margin-top: 0.5rem !important;
}
.bvp-pill.is-warn {
	background: rgba(234,179,8,0.12) !important;
	color: #eab308 !important;
	border-color: rgba(234,179,8,0.3) !important;
}
/* jalali datepicker on dark panel */
jdp-container, .jdp-container {
	z-index: 99999 !important;
}

.bvp-page-bar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
	flex-wrap: wrap !important;
	margin-bottom: 0.85rem !important;
}
.bvp-page-title {
	margin: 0.25rem 0 0 !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
}
.bvp-back-link {
	font-size: 0.78rem !important;
	color: var(--bp-faint) !important;
	display: inline-block !important;
}
.bvp-back-link:hover { color: var(--bp-primary-2) !important; }

.bvp-card-compact {
	padding: 0.9rem 1rem !important;
}

.bvp-form-compact .bvp-fg {
	margin-bottom: 0.55rem !important;
}
.bvp-form-compact .bvp-fl {
	display: block !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	color: var(--bp-faint) !important;
	margin-bottom: 0.22rem !important;
}
.bvp-form-compact input[type="text"],
.bvp-form-compact input[type="number"],
.bvp-form-compact input[type="email"],
.bvp-form-compact select,
.bvp-form-compact textarea {
	width: 100% !important;
	padding: 0.42rem 0.6rem !important;
	border-radius: 8px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-text) !important;
	font: inherit !important;
	font-size: 0.84rem !important;
	line-height: 1.35 !important;
	min-height: 0 !important;
	height: auto !important;
}
.bvp-form-compact textarea {
	min-height: 56px !important;
	resize: vertical !important;
}
.bvp-fg-row {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 0.55rem !important;
}
@media (max-width: 800px) {
	.bvp-fg-row { grid-template-columns: 1fr !important; }
}
.bvp-btn-sm {
	padding: 0.48rem 0.9rem !important;
	font-size: 0.84rem !important;
	width: auto !important;
	display: inline-flex !important;
	align-items: center !important;
}
.bvp-btn-ghost-sm {
	margin: 0 0 0.65rem !important;
	padding: 0.28rem 0.55rem !important;
	font-size: 0.72rem !important;
}
.bvp-table-sm th,
.bvp-table-sm td {
	padding: 0.45rem 0.4rem !important;
	font-size: 0.8rem !important;
}
.bvp-table-sm select {
	padding: 0.2rem 0.35rem !important;
	font-size: 0.75rem !important;
	border-radius: 6px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-text) !important;
	max-width: 110px !important;
}

/* User services */
.bvp-svc-filters {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.4rem !important;
	margin-bottom: 0.85rem !important;
}
.bvp-chip {
	padding: 0.28rem 0.7rem !important;
	border-radius: 999px !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-muted) !important;
}
.bvp-chip.is-active {
	background: rgba(59, 130, 246, 0.15) !important;
	border-color: rgba(59, 130, 246, 0.35) !important;
	color: var(--bp-primary-2) !important;
}

.bvp-usvc-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
}

.bvp-usvc {
	background: var(--bp-bg-elev) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: 14px !important;
	padding: 0.9rem 1rem !important;
	box-shadow: var(--bp-shadow) !important;
}

.bvp-usvc-head {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 0.65rem !important;
	margin-bottom: 0.75rem !important;
	padding-bottom: 0.65rem !important;
	border-bottom: 1px solid var(--bp-border) !important;
}

.bvp-usvc-title {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.4rem 0.55rem !important;
	min-width: 0 !important;
}
.bvp-usvc-title strong {
	font-size: 0.95rem !important;
	font-weight: 700 !important;
}
.bvp-usvc-id {
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	color: var(--bp-faint) !important;
	font-variant-numeric: tabular-nums !important;
}
.bvp-usvc-group {
	font-size: 0.68rem !important;
	padding: 0.1rem 0.45rem !important;
	border-radius: 6px !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-muted) !important;
	border: 1px solid var(--bp-border) !important;
}

.bvp-usvc-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 0.55rem 0.75rem !important;
	margin-bottom: 0.65rem !important;
}
@media (max-width: 700px) {
	.bvp-usvc-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 420px) {
	.bvp-usvc-grid { grid-template-columns: 1fr !important; }
}

.bvp-usvc-block {
	min-width: 0 !important;
}
.bvp-usvc-k {
	display: block !important;
	font-size: 0.68rem !important;
	color: var(--bp-faint) !important;
	margin-bottom: 0.12rem !important;
}
.bvp-usvc-v {
	display: block !important;
	font-size: 0.84rem !important;
	font-weight: 600 !important;
	color: var(--bp-text) !important;
	word-break: break-word !important;
}
.bvp-mono {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
	font-size: 0.8rem !important;
	font-weight: 500 !important;
}

.bvp-usvc-specs {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.4rem !important;
	margin-bottom: 0.75rem !important;
}
.bvp-usvc-specs span {
	font-size: 0.72rem !important;
	color: var(--bp-muted) !important;
	background: var(--bp-bg-soft) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: 8px !important;
	padding: 0.28rem 0.55rem !important;
}
.bvp-usvc-specs b {
	color: var(--bp-text) !important;
	font-weight: 700 !important;
}

.bvp-usvc-foot {
	padding-top: 0.65rem !important;
	border-top: 1px solid var(--bp-border) !important;
}
.bvp-usvc-bill {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 0.5rem !important;
}
.bvp-usvc-renewal {
	color: #34d399 !important;
}
@media (max-width: 600px) {
	.bvp-usvc-bill { grid-template-columns: repeat(2, 1fr) !important; }
}
.bvp-usvc-due {
	color: var(--bp-primary-2) !important;
}
.bvp-usvc-suspend {
	margin: 0.55rem 0 0 !important;
	font-size: 0.78rem !important;
	color: #fbbf24 !important;
}

.bvp-pill.is-pend {
	background: rgba(96, 165, 250, 0.12) !important;
	color: #60a5fa !important;
	border-color: rgba(96, 165, 250, 0.3) !important;
}
.bvp-pill.is-muted {
	background: rgba(148, 163, 184, 0.12) !important;
	color: var(--bp-muted) !important;
}


.bvp-order-opts {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.55rem !important;
	margin: 0.75rem 0 1rem !important;
	padding: 0.75rem 0.85rem !important;
	border-radius: 12px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
}
.bvp-check-block {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.55rem !important;
	cursor: pointer !important;
	font-size: 0.84rem !important;
	color: var(--bp-text) !important;
}
.bvp-check-block input {
	margin-top: 0.2rem !important;
	flex-shrink: 0 !important;
	width: 16px !important;
	height: 16px !important;
}
.bvp-check-block strong {
	display: block !important;
	font-weight: 650 !important;
	font-size: 0.84rem !important;
}
.bvp-check-block small {
	display: block !important;
	margin-top: 0.15rem !important;
	font-size: 0.72rem !important;
	color: var(--bp-faint) !important;
	font-weight: 400 !important;
}

.bvp-page-sub {
	margin: 0.25rem 0 0 !important;
	font-size: 0.78rem !important;
	color: var(--bp-faint) !important;
	font-weight: 400 !important;
	max-width: 36rem !important;
	line-height: 1.5 !important;
}

.bvp-link-pay {
	background: none !important;
	border: none !important;
	color: #34d399 !important;
	font: inherit !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	padding: 0 !important;
}

.bvp-ticket-thread {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
	width: 100% !important;
	padding: 0.5rem 0 !important;
}
.bvp-ticket-msg {
	border-radius: 14px !important;
	padding: 0.75rem 0.95rem !important;
	border: 1px solid var(--bp-border) !important;
	background: #121a2e !important;
	max-width: min(78%, 520px) !important;
	width: fit-content !important;
	box-sizing: border-box !important;
	box-shadow: 0 4px 14px rgba(0,0,0,0.18) !important;
}
.bvp-panel-root[data-theme="light"] .bvp-ticket-msg {
	background: #ffffff !important;
}
/* مشتری — سمت راست (در RTL) */
.bvp-ticket-msg.is-client {
	align-self: flex-start !important;
	margin-inline-start: 0 !important;
	margin-inline-end: auto !important;
	background: #1a2744 !important;
	border-color: rgba(96, 165, 250, 0.35) !important;
	border-end-start-radius: 4px !important;
}
.bvp-panel-root[data-theme="light"] .bvp-ticket-msg.is-client {
	background: #e8f1ff !important;
	border-color: rgba(37, 99, 235, 0.25) !important;
}
/* پشتیبان — سمت چپ */
.bvp-ticket-msg.is-staff {
	align-self: flex-end !important;
	margin-inline-end: 0 !important;
	margin-inline-start: auto !important;
	background: #152218 !important;
	border-color: rgba(34, 197, 94, 0.35) !important;
	border-end-end-radius: 4px !important;
}
.bvp-panel-root[data-theme="light"] .bvp-ticket-msg.is-staff {
	background: #e8f8ee !important;
	border-color: rgba(34, 197, 94, 0.3) !important;
}
.bvp-ticket-msg-meta {
	display: flex !important;
	justify-content: space-between !important;
	gap: 0.5rem !important;
	margin-bottom: 0.4rem !important;
	font-size: 0.75rem !important;
	color: var(--bp-faint) !important;
}
.bvp-ticket-msg-meta strong {
	color: var(--bp-text) !important;
	font-size: 0.82rem !important;
}
.bvp-ticket-msg-body {
	font-size: 0.88rem !important;
	line-height: 1.65 !important;
	color: var(--bp-text) !important;
	white-space: pre-wrap !important;
	word-break: break-word !important;
}

.bvp-auth-tabs {
	display: flex !important;
	gap: 0.35rem !important;
	margin-bottom: 1rem !important;
}
.bvp-auth-tab {
	flex: 1 !important;
	text-align: center !important;
	padding: 0.45rem 0.5rem !important;
	border-radius: 10px !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	border: 1px solid var(--bp-border, #333) !important;
	color: #94a3b8 !important;
	background: transparent !important;
}
.bvp-auth-tab.is-active {
	background: rgba(59,130,246,0.2) !important;
	border-color: rgba(59,130,246,0.45) !important;
	color: #fff !important;
}
.bvp-store-group {
	font-size: 0.9rem !important;
	margin: 0.5rem 0 0.65rem !important;
	color: var(--bp-muted) !important;
}
.bvp-store-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
	gap: 0.75rem !important;
	margin-bottom: 1.25rem !important;
}
.bvp-store-card {
	border: 1px solid var(--bp-border) !important;
	border-radius: 14px !important;
	padding: 0.9rem 1rem !important;
	background: var(--bp-bg-elev) !important;
}
.bvp-store-name {
	display: block !important;
	font-size: 0.95rem !important;
	margin-bottom: 0.35rem !important;
}
.bvp-store-desc {
	font-size: 0.78rem !important;
	color: var(--bp-faint) !important;
	margin: 0 0 0.5rem !important;
	line-height: 1.45 !important;
}
.bvp-store-specs {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.3rem !important;
	margin-bottom: 0.55rem !important;
}
.bvp-store-specs span {
	font-size: 0.68rem !important;
	padding: 0.15rem 0.4rem !important;
	border-radius: 6px !important;
	background: var(--bp-bg-soft) !important;
	border: 1px solid var(--bp-border) !important;
	color: var(--bp-muted) !important;
}
.bvp-store-price {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	margin-bottom: 0.65rem !important;
	color: var(--bp-primary-2) !important;
}
.bvp-store-price small {
	font-size: 0.72rem !important;
	font-weight: 500 !important;
	color: var(--bp-faint) !important;
}

.bvp-page-bar-actions {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	flex-wrap: wrap !important;
}

.bvp-chart {
	display: flex !important;
	align-items: flex-end !important;
	gap: 0.45rem !important;
	min-height: 160px !important;
	padding: 0.5rem 0.25rem !important;
}
.bvp-chart-col {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 0.25rem !important;
	min-width: 0 !important;
}
.bvp-chart-bar-wrap {
	width: 100% !important;
	height: 120px !important;
	display: flex !important;
	align-items: flex-end !important;
	justify-content: center !important;
}
.bvp-chart-bar {
	width: 70% !important;
	max-width: 36px !important;
	border-radius: 8px 8px 4px 4px !important;
	background: linear-gradient(180deg, #60a5fa, #2563eb) !important;
	min-height: 4px !important;
}
.bvp-chart-label {
	font-size: 0.65rem !important;
	color: var(--bp-faint) !important;
	text-align: center !important;
}
.bvp-chart-val {
	font-size: 0.68rem !important;
	font-weight: 600 !important;
	color: var(--bp-muted) !important;
}
.bvp-mini-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.bvp-mini-list li {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 0.5rem !important;
	padding: 0.4rem 0 !important;
	border-bottom: 1px solid var(--bp-border) !important;
	font-size: 0.82rem !important;
}
.bvp-search-input {
	flex: 1 !important;
	min-width: 160px !important;
	padding: 0.4rem 0.65rem !important;
	border-radius: 10px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg) !important;
	color: var(--bp-text) !important;
	font: inherit !important;
}
.bvp-ticket-attach {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	margin-top: 0.55rem !important;
	padding: 0.35rem 0.7rem !important;
	border-radius: 10px !important;
	border: 1px solid rgba(96, 165, 250, 0.35) !important;
	background: rgba(59, 130, 246, 0.12) !important;
	color: #60a5fa !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
}
.bvp-ticket-attach:hover {
	background: rgba(59, 130, 246, 0.22) !important;
	color: #93c5fd !important;
}
.bvp-ticket-attach::before {
	content: "📎" !important;
	font-size: 0.85rem !important;
}

.bvp-notif-wrap {
	position: relative !important;
}
.bvp-notif-bell {
	position: relative !important;
	color: var(--bp-muted) !important;
	transition: color 0.15s, background 0.15s, box-shadow 0.15s, transform 0.15s !important;
}
.bvp-notif-bell:hover {
	color: #60a5fa !important;
	background: rgba(96, 165, 250, 0.12) !important;
	box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.25) !important;
}
.bvp-notif-bell:hover svg {
	transform: rotate(-8deg) scale(1.05) !important;
}
.bvp-notif-bell svg {
	transition: transform 0.2s ease !important;
}
.bvp-notif-bell[aria-expanded="true"] {
	color: #60a5fa !important;
	background: rgba(96, 165, 250, 0.15) !important;
}
.bvp-notif-badge {
	position: absolute !important;
	top: -2px !important;
	left: -2px !important;
	min-width: 16px !important;
	height: 16px !important;
	padding: 0 4px !important;
	border-radius: 99px !important;
	background: #ef4444 !important;
	color: #fff !important;
	font-size: 0.65rem !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	pointer-events: none !important;
}
.bvp-notif-dropdown {
	position: fixed !important;
	/* top/left set by JS — do not force 0 with !important */
	top: auto;
	left: auto;
	right: auto;
	width: min(320px, calc(100vw - 2.5rem)) !important;
	max-height: min(70vh, 420px) !important;
	overflow: auto !important;
	border-radius: 14px !important;
	border: 1px solid rgba(148, 163, 184, 0.22) !important;
	background: #0c1222 !important;
	box-shadow: 0 18px 50px rgba(0,0,0,0.55) !important;
	z-index: 9998 !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	opacity: 1 !important;
	isolation: isolate !important;
	pointer-events: auto !important;
}
.bvp-panel-root[data-theme="light"] .bvp-notif-dropdown {
	background: #ffffff !important;
	border-color: rgba(15, 23, 42, 0.12) !important;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18) !important;
}
.bvp-notif-dropdown[hidden] {
	display: none !important;
}
.bvp-notif-dd-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 0.7rem 0.85rem !important;
	border-bottom: 1px solid var(--bp-border) !important;
	font-size: 0.85rem !important;
}
.bvp-notif-mark-all {
	background: none !important;
	border: none !important;
	color: #60a5fa !important;
	font: inherit !important;
	font-size: 0.75rem !important;
	cursor: pointer !important;
	padding: 0 !important;
}
.bvp-notif-dd-item {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.15rem !important;
	padding: 0.65rem 0.85rem !important;
	border-bottom: 1px solid var(--bp-border) !important;
	color: var(--bp-text) !important;
	text-decoration: none !important;
	font-size: 0.82rem !important;
}
.bvp-notif-dd-item.is-unread {
	background: rgba(59,130,246,0.08) !important;
}
.bvp-notif-dd-item:hover {
	background: var(--bp-bg-soft) !important;
}
.bvp-notif-dd-title {
	font-weight: 600 !important;
}
.bvp-notif-dd-time {
	font-size: 0.7rem !important;
	color: var(--bp-faint) !important;
}
.bvp-notif-dd-footer {
	display: block !important;
	text-align: center !important;
	padding: 0.65rem !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	color: #60a5fa !important;
}
.bvp-notif-empty {
	padding: 1rem !important;
	text-align: center !important;
	color: var(--bp-faint) !important;
	font-size: 0.82rem !important;
	margin: 0 !important;
}

/* Page list */
.bvp-notif-page-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.55rem !important;
}
.bvp-notif-card {
	position: relative !important;
	display: block !important;
	padding: 0.85rem 1rem !important;
	border-radius: 14px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-elev) !important;
	color: var(--bp-text) !important;
	text-decoration: none !important;
	transition: border-color 0.15s, box-shadow 0.15s !important;
}
.bvp-notif-card.is-unread {
	border-color: rgba(59,130,246,0.4) !important;
	box-shadow: 0 0 0 1px rgba(59,130,246,0.12) !important;
}
.bvp-notif-card:hover {
	border-color: rgba(59,130,246,0.5) !important;
}
.bvp-notif-card-top {
	display: flex !important;
	justify-content: space-between !important;
	gap: 0.5rem !important;
	margin-bottom: 0.25rem !important;
	font-size: 0.88rem !important;
}
.bvp-notif-card-top span {
	font-size: 0.72rem !important;
	color: var(--bp-faint) !important;
	flex-shrink: 0 !important;
}
.bvp-notif-card p {
	margin: 0 !important;
	font-size: 0.8rem !important;
	color: var(--bp-muted) !important;
	line-height: 1.5 !important;
}
.bvp-notif-dot {
	position: absolute !important;
	top: 0.9rem !important;
	left: 0.75rem !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	background: #3b82f6 !important;
}

/* Toast notices */
.bvp-toast-stack {
	position: fixed !important;
	top: 1rem !important;
	left: 1rem !important;
	z-index: 9999 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.5rem !important;
	max-width: min(360px, calc(100vw - 2rem)) !important;
	pointer-events: none !important;
}
.bvp-toast {
	pointer-events: auto !important;
	padding: 0.75rem 1rem !important;
	border-radius: 12px !important;
	background: var(--bp-bg-elev) !important;
	border: 1px solid var(--bp-border) !important;
	box-shadow: 0 10px 30px rgba(0,0,0,0.2) !important;
	font-size: 0.84rem !important;
	color: var(--bp-text) !important;
	animation: bvpToastIn 0.3s ease !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.2rem !important;
}
.bvp-toast.is-invoice,
.bvp-toast.is-payment { border-color: rgba(52,211,153,0.45) !important; }
.bvp-toast.is-ticket { border-color: rgba(96,165,250,0.45) !important; }
.bvp-toast.is-warning,
.bvp-toast.is-renewal { border-color: rgba(251,191,36,0.5) !important; }
.bvp-toast strong { font-size: 0.86rem !important; }
.bvp-toast span { font-size: 0.75rem !important; color: var(--bp-muted) !important; }
@keyframes bvpToastIn {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 720px) {
	.bvp-toast-stack {
		top: auto !important;
		bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px)) !important;
		left: 0.75rem !important;
		right: 0.75rem !important;
		max-width: none !important;
	}
}


/* Menu red badge for new items */
.bvp-panel-nav-item {
	position: relative !important;
}
.bvp-nav-badge {
	margin-right: auto !important;
	min-width: 18px !important;
	height: 18px !important;
	padding: 0 5px !important;
	border-radius: 99px !important;
	background: #ef4444 !important;
	color: #fff !important;
	font-size: 0.65rem !important;
	font-weight: 700 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	flex-shrink: 0 !important;
}
.bvp-mobile-nav-item {
	position: relative !important;
}
.bvp-mobile-nav-badge {
	position: absolute !important;
	top: 4px !important;
	left: 50% !important;
	transform: translateX(-14px) !important;
	min-width: 14px !important;
	height: 14px !important;
	padding: 0 3px !important;
	border-radius: 99px !important;
	background: #ef4444 !important;
	color: #fff !important;
	font-size: 0.58rem !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
}

.bvp-settings-tabs {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.35rem !important;
	margin-bottom: 1rem !important;
	border-bottom: 1px solid var(--bp-border) !important;
	padding-bottom: 0.5rem !important;
}
.bvp-settings-tab {
	padding: 0.45rem 0.9rem !important;
	border-radius: 10px !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	color: var(--bp-muted) !important;
	text-decoration: none !important;
	border: 1px solid transparent !important;
}
.bvp-settings-tab:hover {
	color: var(--bp-text) !important;
	background: var(--bp-bg-soft) !important;
}
.bvp-settings-tab.is-active {
	color: #60a5fa !important;
	background: rgba(96,165,250,0.12) !important;
	border-color: rgba(96,165,250,0.3) !important;
}
.bvp-sms-grid {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.85rem !important;
}
.bvp-sms-row {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0.3rem !important;
	padding-bottom: 0.75rem !important;
	border-bottom: 1px solid var(--bp-border) !important;
}
.bvp-sms-row input[type="text"] {
	width: 100% !important;
	padding: 0.45rem 0.65rem !important;
	border-radius: 10px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg) !important;
	color: var(--bp-text) !important;
	font: inherit !important;
}
.bvp-sms-on {
	display: flex !important;
	align-items: center !important;
	gap: 0.45rem !important;
}

.bvp-panel-auth .bvp-auth-brand-main {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0.35rem !important;
	min-width: 0 !important;
	flex: 1 !important;
}
.bvp-panel-auth .bvp-panel-brand-logo {
	max-width: 160px !important;
	max-height: 44px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
}
.bvp-panel-auth .bvp-auth-brand-sub {
	color: var(--bp-faint) !important;
	font-size: 0.78rem !important;
	line-height: 1.3 !important;
}
.bvp-auth-submit:hover {
	filter: brightness(1.06) !important;
}
.bvp-auth-note a {
	color: #60a5fa !important;
	font-weight: 600 !important;
}


/* Client admin form – full width + important fields */
.bvp-client-form-wrap {
	width: 100% !important;
	max-width: 100% !important;
}
.bvp-client-form-wrap .bvp-card,
.bvp-client-form-wrap.bvp-card {
	max-width: 100% !important;
	width: 100% !important;
}
.bvp-client-form .bvp-fg-row {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 1rem !important;
	margin-bottom: 0 !important;
	width: 100% !important;
}
@media (max-width: 720px) {
	.bvp-client-form .bvp-fg-row {
		grid-template-columns: 1fr !important;
	}
}
.bvp-client-form .bvp-fg {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.35rem !important;
	margin-bottom: 0.85rem !important;
	width: 100% !important;
}
.bvp-client-form .bvp-fl {
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	color: var(--bp-muted) !important;
}
.bvp-client-form input[type="text"],
.bvp-client-form input[type="tel"],
.bvp-client-form input[type="email"],
.bvp-client-form input[type="password"],
.bvp-client-form input[type="number"],
.bvp-client-form select,
.bvp-client-form textarea {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0.7rem 0.9rem !important;
	border-radius: 12px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-text) !important;
	font: inherit !important;
	font-size: 0.9rem !important;
	line-height: 1.4 !important;
	outline: none !important;
	box-sizing: border-box !important;
}
.bvp-client-form input:focus,
.bvp-client-form select:focus,
.bvp-client-form textarea:focus {
	border-color: rgba(59, 130, 246, 0.55) !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15) !important;
}
.bvp-client-form textarea {
	min-height: 80px !important;
	resize: vertical !important;
}

/* Client detail profile */

/* Client detail profile – dedicated layout */
.bvp-client-profile {
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
	width: 100% !important;
	max-width: 100% !important;
}
.bvp-client-hero {
	display: flex !important;
	align-items: center !important;
	gap: 1.15rem !important;
	padding: 1.25rem 1.35rem !important;
	border-radius: 18px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-elev) !important;
	box-shadow: var(--bp-shadow) !important;
	flex-wrap: wrap !important;
}
.bvp-client-hero-avatar {
	width: 64px !important;
	height: 64px !important;
	border-radius: 18px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 1.45rem !important;
	font-weight: 800 !important;
	color: #fff !important;
	background: linear-gradient(135deg, #2563eb, #06b6d4) !important;
	box-shadow: 0 10px 28px rgba(37, 99, 235, 0.35) !important;
	flex-shrink: 0 !important;
}
.bvp-client-hero-info {
	flex: 1 !important;
	min-width: 160px !important;
}
.bvp-client-hero-info h3 {
	margin: 0 0 0.3rem !important;
	font-size: 1.2rem !important;
	font-weight: 800 !important;
	color: var(--bp-text) !important;
}
.bvp-client-hero-chips {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.4rem !important;
	align-items: center !important;
}
.bvp-client-chip {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.3rem !important;
	padding: 0.28rem 0.65rem !important;
	border-radius: 999px !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	background: var(--bp-bg-soft) !important;
	border: 1px solid var(--bp-border) !important;
	color: var(--bp-muted) !important;
}
.bvp-client-chip.is-ok {
	background: rgba(34, 197, 94, 0.12) !important;
	border-color: rgba(34, 197, 94, 0.3) !important;
	color: #4ade80 !important;
}
.bvp-client-chip.is-off {
	background: rgba(248, 113, 113, 0.12) !important;
	border-color: rgba(248, 113, 113, 0.3) !important;
	color: #f87171 !important;
}

.bvp-client-kpi {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 0.75rem !important;
	width: 100% !important;
}
@media (max-width: 800px) {
	.bvp-client-kpi {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
.bvp-client-kpi-item {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 0.35rem !important;
	padding: 1rem 1.1rem !important;
	border-radius: 16px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-elev) !important;
	box-shadow: var(--bp-shadow) !important;
	min-height: 88px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
.bvp-client-kpi-item span {
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	color: var(--bp-faint) !important;
	line-height: 1.2 !important;
}
.bvp-client-kpi-item strong {
	font-size: 1.55rem !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	color: var(--bp-text) !important;
	background: none !important;
	-webkit-text-fill-color: unset !important;
}

.bvp-client-body {
	display: grid !important;
	grid-template-columns: 1fr 1.4fr !important;
	gap: 1rem !important;
	width: 100% !important;
	align-items: start !important;
}
@media (max-width: 960px) {
	.bvp-client-body {
		grid-template-columns: 1fr !important;
	}
}
.bvp-client-info-grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0.5rem !important;
}
.bvp-client-info-row {
	display: grid !important;
	grid-template-columns: 110px 1fr !important;
	gap: 0.5rem !important;
	align-items: start !important;
	padding: 0.55rem 0.7rem !important;
	border-radius: 12px !important;
	background: var(--bp-bg-soft) !important;
	border: 1px solid var(--bp-border) !important;
}
.bvp-client-info-row span {
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	color: var(--bp-faint) !important;
	padding-top: 0.1rem !important;
}
.bvp-client-info-row strong {
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	color: var(--bp-text) !important;
	word-break: break-word !important;
}

.bvp-client-lists {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0.85rem !important;
}
.bvp-client-lists .bvp-card {
	margin-bottom: 0 !important;
}
.bvp-mini-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.bvp-mini-list li {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.5rem !important;
	padding: 0.55rem 0 !important;
	border-bottom: 1px solid var(--bp-border) !important;
	font-size: 0.85rem !important;
}
.bvp-mini-list li:last-child {
	border-bottom: none !important;
}
.bvp-pill.is-active,
.bvp-pill.is-paid {
	background: rgba(34, 197, 94, 0.12) !important;
	color: #4ade80 !important;
	border-color: rgba(34, 197, 94, 0.3) !important;
}
.bvp-pill.is-pending,
.bvp-pill.is-unpaid {
	background: rgba(251, 191, 36, 0.12) !important;
	color: #fbbf24 !important;
	border-color: rgba(251, 191, 36, 0.3) !important;
}


.bvp-impersonate-bar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
	flex-wrap: wrap !important;
	margin: 0 0 1rem !important;
	padding: 0.7rem 1rem !important;
	border-radius: 12px !important;
	border: 1px solid rgba(251, 191, 36, 0.4) !important;
	background: rgba(251, 191, 36, 0.12) !important;
	color: #fbbf24 !important;
	font-size: 0.85rem !important;
}
.bvp-impersonate-bar strong {
	color: var(--bp-text) !important;
}
.bvp-impersonate-return {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.35rem 0.75rem !important;
	border-radius: 10px !important;
	background: rgba(37, 99, 235, 0.9) !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 0.8rem !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}
.bvp-impersonate-return:hover {
	filter: brightness(1.08) !important;
}


.bvp-client-actions {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	flex-wrap: wrap !important;
}
.bvp-client-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 36px !important;
	padding: 0 0.95rem !important;
	border-radius: 10px !important;
	font: inherit !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	text-decoration: none !important;
	border: 1px solid transparent !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
	transition: filter 0.15s, background 0.15s, border-color 0.15s !important;
}
.bvp-client-btn-primary {
	background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
	color: #fff !important;
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35) !important;
}
.bvp-client-btn-primary:hover {
	filter: brightness(1.06) !important;
	color: #fff !important;
}
.bvp-client-btn-secondary {
	background: var(--bp-bg-soft) !important;
	color: var(--bp-text) !important;
	border-color: var(--bp-border) !important;
}
.bvp-client-btn-secondary:hover {
	border-color: rgba(96, 165, 250, 0.45) !important;
	color: #60a5fa !important;
}
.bvp-client-btn-danger {
	background: rgba(248, 113, 113, 0.12) !important;
	color: #f87171 !important;
	border-color: rgba(248, 113, 113, 0.35) !important;
}
.bvp-client-btn-danger:hover {
	background: rgba(248, 113, 113, 0.2) !important;
}
.bvp-client-btn-disabled {
	background: var(--bp-bg-soft) !important;
	color: var(--bp-faint) !important;
	border-color: var(--bp-border) !important;
	cursor: not-allowed !important;
	opacity: 0.65 !important;
}

.bvp-ticket-status-select,
.bvp-page-bar select[name="status"],
.bvp-inline-form select[name="status"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	min-width: 140px !important;
	height: 36px !important;
	padding: 0 0.85rem !important;
	border-radius: 10px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-text) !important;
	font: inherit !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	outline: none !important;
}
.bvp-ticket-status-select:focus,
.bvp-page-bar select[name="status"]:focus,
.bvp-inline-form select[name="status"]:focus {
	border-color: rgba(96, 165, 250, 0.5) !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15) !important;
}
.bvp-fg input[type="file"] {
	width: 100% !important;
	padding: 0.55rem 0.7rem !important;
	border-radius: 10px !important;
	border: 1px dashed var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-muted) !important;
	font: inherit !important;
	font-size: 0.8rem !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
}

/* ========== Financial reports ========== */
.bvp-report-kpis {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 0.85rem !important;
	margin-bottom: 1.1rem !important;
	width: 100% !important;
}
@media (max-width: 1100px) {
	.bvp-report-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 560px) {
	.bvp-report-kpis {
		grid-template-columns: 1fr !important;
	}
}
.bvp-report-kpi {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.35rem !important;
	padding: 1.15rem 1.2rem !important;
	border-radius: 16px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-elev) !important;
	box-shadow: var(--bp-shadow) !important;
	position: relative !important;
	overflow: hidden !important;
	min-height: 110px !important;
	box-sizing: border-box !important;
}
.bvp-report-kpi::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	width: 4px !important;
	height: 100% !important;
	border-radius: 0 16px 16px 0 !important;
}
.bvp-report-kpi.is-green::before { background: #22c55e !important; }
.bvp-report-kpi.is-blue::before { background: #3b82f6 !important; }
.bvp-report-kpi.is-amber::before { background: #f59e0b !important; }
.bvp-report-kpi.is-cyan::before { background: #06b6d4 !important; }
.bvp-report-kpi-label {
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	color: var(--bp-faint) !important;
}
.bvp-report-kpi-value {
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: var(--bp-text) !important;
	line-height: 1.3 !important;
	word-break: break-word !important;
	background: none !important;
	-webkit-text-fill-color: unset !important;
}
.bvp-report-kpi small {
	font-size: 0.72rem !important;
	color: var(--bp-muted) !important;
}

.bvp-report-grid {
	display: grid !important;
	grid-template-columns: 1.6fr 1fr !important;
	gap: 1rem !important;
	margin-bottom: 1rem !important;
	align-items: stretch !important;
}
@media (max-width: 960px) {
	.bvp-report-grid {
		grid-template-columns: 1fr !important;
	}
}
.bvp-report-chart-card {
	margin-bottom: 0 !important;
}
.bvp-report-chart {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 0.55rem !important;
	min-height: 220px !important;
	padding: 0.5rem 0.25rem 0 !important;
	width: 100% !important;
}
.bvp-report-col {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 0.4rem !important;
	min-width: 0 !important;
}
.bvp-report-col-val {
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	color: var(--bp-muted) !important;
	white-space: nowrap !important;
}
.bvp-report-bar-track {
	width: 100% !important;
	max-width: 42px !important;
	height: 160px !important;
	border-radius: 12px !important;
	background: rgba(148, 163, 184, 0.08) !important;
	border: 1px solid var(--bp-border) !important;
	display: flex !important;
	align-items: flex-end !important;
	overflow: hidden !important;
	padding: 3px !important;
	box-sizing: border-box !important;
}
.bvp-report-bar {
	width: 100% !important;
	border-radius: 9px !important;
	background: linear-gradient(180deg, #60a5fa, #2563eb) !important;
	box-shadow: 0 0 16px rgba(37, 99, 235, 0.35) !important;
	transition: height 0.35s ease !important;
	min-height: 6px !important;
}
.bvp-report-col:hover .bvp-report-bar {
	filter: brightness(1.12) !important;
}
.bvp-report-col-label {
	font-size: 0.7rem !important;
	font-weight: 600 !important;
	color: var(--bp-faint) !important;
	text-align: center !important;
}

.bvp-report-side {
	margin-bottom: 0 !important;
}
.bvp-report-status-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.65rem !important;
}
.bvp-report-status-list li {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	padding: 0.75rem 0.85rem !important;
	border-radius: 12px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
}
.bvp-report-status-list div {
	flex: 1 !important;
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.15rem !important;
}
.bvp-report-status-list strong {
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	color: var(--bp-text) !important;
}
.bvp-report-status-list small {
	font-size: 0.72rem !important;
	color: var(--bp-faint) !important;
}
.bvp-report-status-list em {
	font-style: normal !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	color: var(--bp-text) !important;
	white-space: nowrap !important;
}
.bvp-report-dot {
	width: 10px !important;
	height: 10px !important;
	border-radius: 50% !important;
	flex-shrink: 0 !important;
}
.bvp-report-dot.is-paid { background: #22c55e !important; box-shadow: 0 0 10px rgba(34,197,94,0.5) !important; }
.bvp-report-dot.is-unpaid { background: #f59e0b !important; box-shadow: 0 0 10px rgba(245,158,11,0.45) !important; }
.bvp-report-dot.is-cancel { background: #94a3b8 !important; }

.bvp-report-table td,
.bvp-report-table th {
	white-space: nowrap !important;
}
.bvp-report-id {
	font-weight: 700 !important;
	color: #60a5fa !important;
}
.bvp-report-amount {
	color: #4ade80 !important;
	font-weight: 800 !important;
}

.bvp-report-filters {
	margin-bottom: 1rem !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
}
.bvp-report-presets {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.4rem !important;
}
.bvp-report-preset {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.4rem 0.8rem !important;
	border-radius: 999px !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-muted) !important;
	text-decoration: none !important;
}
.bvp-report-preset:hover {
	color: var(--bp-text) !important;
	border-color: rgba(96, 165, 250, 0.4) !important;
}
.bvp-report-preset.is-active {
	background: rgba(37, 99, 235, 0.2) !important;
	border-color: rgba(59, 130, 246, 0.45) !important;
	color: #93c5fd !important;
}
.bvp-report-custom {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-end !important;
	gap: 0.75rem !important;
	padding: 0.85rem 1rem !important;
	border-radius: 14px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-elev) !important;
}
.bvp-report-custom .bvp-fg {
	margin-bottom: 0 !important;
	min-width: 140px !important;
	flex: 1 !important;
}
.bvp-report-custom input {
	width: 100% !important;
	padding: 0.55rem 0.75rem !important;
	border-radius: 10px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-text) !important;
	font: inherit !important;
	box-sizing: border-box !important;
}


/* Provision action buttons — high specificity to beat .bvp-inline-form button */
.bvp-panel-root .bvp-prov-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.55rem !important;
	margin-top: 0.85rem !important;
	align-items: center !important;
}
.bvp-panel-root .bvp-prov-actions .bvp-inline-form {
	display: inline-flex !important;
	margin: 0 !important;
}
.bvp-panel-root button.bvp-prov-btn,
.bvp-panel-root .bvp-inline-form button.bvp-prov-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 40px !important;
	min-width: 120px !important;
	padding: 0 1.1rem !important;
	border-radius: 12px !important;
	border: 1px solid transparent !important;
	font: inherit !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
	transition: filter 0.15s, transform 0.15s, box-shadow 0.15s !important;
	text-decoration: none !important;
}
.bvp-panel-root button.bvp-prov-btn:hover {
	filter: brightness(1.1) !important;
	transform: translateY(-1px) !important;
}
.bvp-panel-root button.bvp-prov-create {
	background: linear-gradient(135deg, #3b82f6, #1d4ed8) !important;
	color: #ffffff !important;
	border-color: transparent !important;
	box-shadow: 0 8px 20px rgba(37, 99, 235, 0.4) !important;
}
.bvp-panel-root button.bvp-prov-suspend {
	background: rgba(245, 158, 11, 0.18) !important;
	color: #fbbf24 !important;
	border-color: rgba(245, 158, 11, 0.45) !important;
}
.bvp-panel-root button.bvp-prov-unsuspend {
	background: rgba(34, 197, 94, 0.18) !important;
	color: #4ade80 !important;
	border-color: rgba(34, 197, 94, 0.45) !important;
}
.bvp-panel-root button.bvp-prov-terminate {
	background: rgba(239, 68, 68, 0.18) !important;
	color: #f87171 !important;
	border-color: rgba(239, 68, 68, 0.45) !important;
}
.bvp-panel-root button.bvp-prov-delete-local {
	background: rgba(148, 163, 184, 0.12) !important;
	color: #94a3b8 !important;
	border-color: rgba(148, 163, 184, 0.35) !important;
}
.bvp-panel-root[data-theme="light"] button.bvp-prov-suspend {
	color: #b45309 !important;
	background: rgba(245, 158, 11, 0.12) !important;
}
.bvp-panel-root[data-theme="light"] button.bvp-prov-unsuspend {
	color: #15803d !important;
	background: rgba(34, 197, 94, 0.12) !important;
}
.bvp-panel-root[data-theme="light"] button.bvp-prov-terminate {
	color: #b91c1c !important;
	background: rgba(239, 68, 68, 0.1) !important;
}
.bvp-panel-root[data-theme="light"] button.bvp-prov-delete-local {
	color: #64748b !important;
}

/* User service credentials + panel login */
.bvp-usvc-pass-wrap {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	flex-wrap: wrap !important;
}
.bvp-usvc-pass {
	font-size: 0.85rem !important;
	letter-spacing: 0.04em !important;
}
.bvp-usvc-eye,
.bvp-usvc-copy {
	border: 1px solid rgba(148, 163, 184, 0.35) !important;
	background: rgba(15, 23, 42, 0.5) !important;
	color: #e2e8f0 !important;
	border-radius: 6px !important;
	padding: 0.15rem 0.45rem !important;
	font-size: 0.75rem !important;
	cursor: pointer !important;
	line-height: 1.4 !important;
}
.bvp-usvc-eye:hover,
.bvp-usvc-copy:hover {
	border-color: rgba(56, 189, 248, 0.5) !important;
	color: #7dd3fc !important;
}
.bvp-usvc-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem !important;
	margin-top: 0.85rem !important;
	padding-top: 0.75rem !important;
	border-top: 1px solid rgba(148, 163, 184, 0.12) !important;
}
.bvp-usvc-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.45rem 0.9rem !important;
	border-radius: 8px !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	border: 1px solid rgba(148, 163, 184, 0.3) !important;
	background: rgba(30, 41, 59, 0.8) !important;
	color: #e2e8f0 !important;
	text-decoration: none !important;
	transition: border-color 0.15s, background 0.15s !important;
}
.bvp-usvc-btn:hover {
	border-color: rgba(56, 189, 248, 0.55) !important;
	color: #fff !important;
}
.bvp-usvc-btn-primary {
	background: linear-gradient(135deg, #0ea5e9, #2563eb) !important;
	border-color: transparent !important;
	color: #fff !important;
}
.bvp-usvc-btn-primary:hover {
	filter: brightness(1.08) !important;
}
.bvp-panel-root[data-theme="light"] .bvp-usvc-eye,
.bvp-panel-root[data-theme="light"] .bvp-usvc-copy {
	background: #f1f5f9 !important;
	color: #334155 !important;
	border-color: #cbd5e1 !important;
}
.bvp-panel-root[data-theme="light"] .bvp-usvc-btn {
	background: #f8fafc !important;
	color: #0f172a !important;
}

.bvp-usvc-ns-edit {
	margin-top: 0.85rem !important;
	padding-top: 0.75rem !important;
	border-top: 1px solid rgba(148, 163, 184, 0.12) !important;
}
.bvp-usvc-ns-hint {
	font-size: 0.85rem !important;
	line-height: 1.6 !important;
	color: #fbbf24 !important;
	background: rgba(251, 191, 36, 0.08) !important;
	border: 1px solid rgba(251, 191, 36, 0.25) !important;
	border-radius: 8px !important;
	padding: 0.65rem 0.85rem !important;
	margin: 0 0 0.85rem !important;
}
.bvp-panel-root[data-theme="light"] .bvp-usvc-ns-hint {
	color: #b45309 !important;
	background: rgba(251, 191, 36, 0.15) !important;
}
.bvp-usvc-ns-fields {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0.65rem !important;
	margin-bottom: 0.75rem !important;
}
@media (max-width: 640px) {
	.bvp-usvc-ns-fields { grid-template-columns: 1fr !important; }
}
.bvp-usvc-ns-fields input {
	width: 100% !important;
	margin-top: 0.25rem !important;
	padding: 0.45rem 0.6rem !important;
	border-radius: 8px !important;
	border: 1px solid rgba(148, 163, 184, 0.3) !important;
	background: rgba(15, 23, 42, 0.55) !important;
	color: #e2e8f0 !important;
	font-family: ui-monospace, monospace !important;
	font-size: 0.85rem !important;
}
.bvp-panel-root[data-theme="light"] .bvp-usvc-ns-fields input {
	background: #fff !important;
	color: #0f172a !important;
	border-color: #cbd5e1 !important;
}

.bvp-status-tabs {
	margin: 0 0 1rem !important;
}
.bvp-panel-root[data-theme="light"] .bvp-tab.is-active {
	background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
	color: #fff !important;
}

/* Panel order: store-like plan cards + cycle pickers */
.bvp-mod .bvp-store-filters,
.bvp-mod .bvp-panel-order-filters {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.45rem !important;
	margin: 0 0 1rem !important;
}
.bvp-mod .bvp-store-chip {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.35rem 0.85rem !important;
	border-radius: 999px !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-muted) !important;
	text-decoration: none !important;
}
.bvp-mod .bvp-store-chip.is-active,
.bvp-mod .bvp-store-chip:hover {
	background: rgba(37, 99, 235, 0.18) !important;
	border-color: rgba(59, 130, 246, 0.45) !important;
	color: var(--bp-primary-2, #60a5fa) !important;
}
.bvp-mod .bvp-plans-grid,
.bvp-mod .bvp-store-plans {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
	gap: 1rem !important;
}
.bvp-mod .bvp-plan-card {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
	padding: 1.15rem 1.2rem !important;
	border-radius: 16px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-card, var(--bp-bg-soft)) !important;
	box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
	transition: border-color 0.15s ease, transform 0.15s ease !important;
}
.bvp-mod .bvp-plan-card:hover {
	border-color: rgba(59, 130, 246, 0.4) !important;
	transform: translateY(-2px) !important;
}
.bvp-mod .bvp-plan-badges {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.35rem !important;
	margin-bottom: 0.5rem !important;
}
.bvp-mod .bvp-store-cat-badge {
	display: inline-flex !important;
	align-self: flex-start !important;
	padding: 0.2rem 0.55rem !important;
	border-radius: 999px !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	background: rgba(59, 130, 246, 0.12) !important;
	color: var(--bp-primary-2, #60a5fa) !important;
	border: 1px solid rgba(59, 130, 246, 0.25) !important;
}
.bvp-mod .bvp-store-loc-badge {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.2rem 0.55rem !important;
	border-radius: 999px !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	background: rgba(34, 197, 94, 0.12) !important;
	color: #4ade80 !important;
	border: 1px solid rgba(34, 197, 94, 0.3) !important;
}
.bvp-panel-root[data-theme="light"] .bvp-mod .bvp-store-loc-badge {
	color: #15803d !important;
	background: rgba(34, 197, 94, 0.1) !important;
}
.bvp-mod .bvp-plan-name {
	font-size: 1.1rem !important;
	font-weight: 800 !important;
	color: var(--bp-text) !important;
	margin: 0 !important;
}
.bvp-mod .bvp-plan-price {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	gap: 0.35rem !important;
}
.bvp-mod .bvp-price-amount {
	font-size: 1.35rem !important;
	font-weight: 800 !important;
	color: var(--bp-text) !important;
}
.bvp-mod .bvp-price-unit {
	font-size: 0.78rem !important;
	color: var(--bp-muted) !important;
}
.bvp-mod .bvp-plan-features {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.35rem !important;
	flex: 1 !important;
}
.bvp-mod .bvp-plan-features li {
	font-size: 0.82rem !important;
	color: var(--bp-muted) !important;
	padding-right: 0.9rem !important;
	position: relative !important;
}
.bvp-mod .bvp-plan-features li::before {
	content: "•" !important;
	position: absolute !important;
	right: 0 !important;
	color: var(--bp-primary-2, #60a5fa) !important;
}
.bvp-mod .bvp-plan-card .bvp-btn,
.bvp-mod .bvp-plan-card .bvp-auth-submit {
	margin-top: auto !important;
	width: 100% !important;
	text-align: center !important;
	justify-content: center !important;
}

/* Billing cycle radios — force styles */
.bvp-mod .bvp-store-cycles,
.bvp-panel-root .bvp-store-cycles {
	display: grid !important;
	gap: 0.55rem !important;
	margin: 0.35rem 0 0.85rem !important;
}
.bvp-mod .bvp-store-cycle,
.bvp-panel-root .bvp-store-cycle {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.65rem !important;
	padding: 0.75rem 0.9rem !important;
	border-radius: 12px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	cursor: pointer !important;
	margin: 0 !important;
}
.bvp-mod .bvp-store-cycle input,
.bvp-panel-root .bvp-store-cycle input {
	margin-top: 0.2rem !important;
}
.bvp-mod .bvp-store-cycle:has(input:checked),
.bvp-panel-root .bvp-store-cycle:has(input:checked),
.bvp-mod .bvp-store-cycle.is-active,
.bvp-panel-root .bvp-store-cycle.is-active {
	border-color: rgba(59, 130, 246, 0.45) !important;
	background: rgba(37, 99, 235, 0.14) !important;
}
.bvp-mod .bvp-store-cycle span,
.bvp-panel-root .bvp-store-cycle span {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.15rem !important;
}
.bvp-mod .bvp-store-cycle strong,
.bvp-panel-root .bvp-store-cycle strong {
	color: var(--bp-text) !important;
	font-weight: 700 !important;
}
.bvp-mod .bvp-store-cycle em,
.bvp-panel-root .bvp-store-cycle em {
	font-style: normal !important;
	color: #60a5fa !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
}
.bvp-mod .bvp-store-cycle small,
.bvp-panel-root .bvp-store-cycle small {
	color: var(--bp-muted) !important;
	font-size: 0.75rem !important;
}

/* Also strengthen storefront cycle styles */


/* Manual invoice create */
.bvp-inv-create { display: flex; flex-direction: column; gap: 1rem; }
.bvp-inv-create-card { margin: 0 !important; }
.bvp-inv-items-head {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}
.bvp-inv-items-table-wrap { overflow-x: auto; }
.bvp-inv-items-table input[type="text"],
.bvp-inv-items-table input[type="number"] {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}
.bvp-inv-items-table td { vertical-align: middle; }
.bvp-inv-line-sum { white-space: nowrap; font-size: 0.9rem; opacity: 0.9; }
.bvp-inv-totals {
	margin-top: 1rem;
	padding: 0.85rem 1rem;
	border-radius: 12px;
	background: rgba(15, 23, 42, 0.04);
	border: 1px solid rgba(15, 23, 42, 0.08);
}
.bvp-inv-tot-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.35rem 0;
	font-size: 0.92rem;
}
.bvp-inv-tot-row.is-final {
	margin-top: 0.35rem;
	padding-top: 0.65rem;
	border-top: 1px dashed rgba(15, 23, 42, 0.15);
	font-size: 1.05rem;
}
.bvp-inv-create-actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 0.25rem;
}
.bvp-fg-grow { flex: 1 1 280px; min-width: 0; }
.bvp-hint-inline { opacity: 0.75; font-size: 0.85em; margin-right: 0.35rem; }




/* ========== Invoice sheet – dark minimal (screen) ========== */
.bvp-inv-sheet {
	background: var(--bp-bg-elev) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: var(--bp-radius) !important;
	box-shadow: none !important;
	overflow: hidden !important;
	margin-bottom: 1.25rem !important;
	color: var(--bp-text) !important;
}
.bvp-inv-sheet-top {
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	gap: 1rem !important;
	padding: 1.15rem 1.25rem !important;
	background: var(--bp-bg-soft) !important;
	border-bottom: 1px solid var(--bp-border) !important;
	color: var(--bp-text) !important;
}
.bvp-inv-brand { display: flex !important; align-items: center !important; gap: 0.7rem !important; }
.bvp-inv-brand-mark {
	width: 40px !important; height: 40px !important; border-radius: 11px !important;
	background: rgba(59, 130, 246, 0.18) !important;
	border: 1px solid rgba(59, 130, 246, 0.3) !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	font-weight: 700 !important; font-size: 1rem !important;
	color: var(--bp-primary-2) !important;
}
.bvp-inv-brand-name { display: block !important; font-size: 1rem !important; font-weight: 600 !important; color: var(--bp-text) !important; }
.bvp-inv-brand-sub { display: block !important; color: var(--bp-faint) !important; font-size: 0.78rem !important; margin-top: 0.12rem !important; }
.bvp-inv-sheet-meta { text-align: left !important; display: flex !important; flex-direction: column !important; align-items: flex-end !important; gap: 0.35rem !important; }
.bvp-inv-num { font-family: ui-monospace, monospace !important; color: var(--bp-muted) !important; font-size: 0.9rem !important; }
.bvp-inv-status-badge {
	display: inline-block !important;
	padding: 0.2rem 0.55rem !important;
	border-radius: 999px !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	border: 1px solid transparent !important;
}
.bvp-inv-status-badge.is-paid {
	background: rgba(34, 197, 94, 0.15) !important;
	color: #86efac !important;
	border-color: rgba(34, 197, 94, 0.3) !important;
}
.bvp-inv-status-badge.is-await {
	background: rgba(251, 191, 36, 0.12) !important;
	color: #fcd34d !important;
	border-color: rgba(251, 191, 36, 0.28) !important;
}
.bvp-inv-status-badge.is-unpaid {
	background: rgba(248, 113, 113, 0.12) !important;
	color: #fca5a5 !important;
	border-color: rgba(248, 113, 113, 0.28) !important;
}
.bvp-panel-root[data-theme="light"] .bvp-inv-status-badge.is-paid { color: #166534 !important; }
.bvp-panel-root[data-theme="light"] .bvp-inv-status-badge.is-await { color: #92400e !important; }
.bvp-panel-root[data-theme="light"] .bvp-inv-status-badge.is-unpaid { color: #991b1b !important; }

.bvp-inv-sheet-info {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
	gap: 0.75rem !important;
	padding: 1rem 1.25rem !important;
	border-bottom: 1px solid var(--bp-border) !important;
	background: transparent !important;
}
.bvp-inv-info-k { display: block !important; font-size: 0.7rem !important; color: var(--bp-faint) !important; margin-bottom: 0.15rem !important; letter-spacing: 0.02em !important; }
.bvp-inv-info-v { display: block !important; font-weight: 600 !important; color: var(--bp-text) !important; font-size: 0.9rem !important; }
.bvp-inv-info-s { display: block !important; font-size: 0.78rem !important; color: var(--bp-muted) !important; margin-top: 0.12rem !important; }

.bvp-inv-sheet-items { padding: 0.35rem 1.1rem 0.15rem !important; }
.bvp-inv-table { width: 100% !important; border-collapse: collapse !important; }
.bvp-inv-table th {
	text-align: right !important;
	font-size: 0.72rem !important;
	color: var(--bp-faint) !important;
	font-weight: 600 !important;
	padding: 0.55rem 0.45rem !important;
	border-bottom: 1px solid var(--bp-border) !important;
	background: transparent !important;
}
.bvp-inv-table td {
	padding: 0.65rem 0.45rem !important;
	border-bottom: 1px solid var(--bp-border) !important;
	font-size: 0.9rem !important;
	color: var(--bp-text) !important;
}
.bvp-inv-table tbody tr:last-child td { border-bottom: none !important; }
.bvp-inv-col-n { width: 2.2rem !important; color: var(--bp-faint) !important; }
.bvp-inv-col-amt { text-align: left !important; white-space: nowrap !important; font-variant-numeric: tabular-nums !important; font-weight: 600 !important; color: var(--bp-primary-2) !important; }

.bvp-inv-sheet-foot {
	padding: 0.85rem 1.25rem 1.15rem !important;
	display: flex !important;
	justify-content: flex-end !important;
	border-top: 1px solid var(--bp-border) !important;
}
.bvp-inv-sums {
	min-width: min(100%, 260px) !important;
	background: var(--bp-bg-soft) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: 12px !important;
	padding: 0.75rem 0.9rem !important;
}
.bvp-inv-sum-row {
	display: flex !important;
	justify-content: space-between !important;
	gap: 1.25rem !important;
	padding: 0.28rem 0 !important;
	font-size: 0.88rem !important;
	color: var(--bp-muted) !important;
}
.bvp-inv-sum-row.is-disc { color: #fbbf24 !important; }
.bvp-inv-sum-row.is-grand {
	margin-top: 0.35rem !important;
	padding-top: 0.5rem !important;
	border-top: 1px solid var(--bp-border) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	color: var(--bp-text) !important;
}

/* Pay + card – compact method buttons, aligned to one side */
.bvp-inv-pay-zone { display: flex !important; flex-direction: column !important; gap: 0.75rem !important; }
.bvp-inv-pay-methods {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
}
.bvp-inv-pay-methods > form {
	display: inline-flex !important;
	margin: 0 !important;
	padding: 0 !important;
}
.bvp-inv-method-btn {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 0.45rem !important;
	width: auto !important;
	min-width: 0 !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: 10px !important;
	padding: 0.45rem 0.85rem !important;
	cursor: pointer !important;
	text-align: right !important;
	background: var(--bp-bg-elev) !important;
	color: var(--bp-text) !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease !important;
	font-family: inherit !important;
	line-height: 1.25 !important;
}
.bvp-inv-method-btn:hover {
	border-color: rgba(59, 130, 246, 0.45) !important;
	box-shadow: 0 4px 12px var(--bp-glow) !important;
}
.bvp-inv-method-online {
	background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
	border-color: transparent !important;
	color: #fff !important;
	box-shadow: 0 4px 14px var(--bp-glow) !important;
}
.bvp-inv-method-online:hover {
	filter: brightness(1.05) !important;
	border-color: transparent !important;
}
.bvp-inv-method-card.is-active {
	border-color: rgba(59, 130, 246, 0.55) !important;
	background: rgba(59, 130, 246, 0.1) !important;
	box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2) !important;
}
.bvp-inv-method-icon {
	font-size: 1rem !important;
	line-height: 1 !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
}
.bvp-inv-method-label {
	font-size: 0.84rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}
.bvp-inv-method-sub {
	display: none !important;
}
.bvp-inv-pay-btn {
	width: 100% !important;
	border: 0 !important;
	border-radius: 12px !important;
	padding: 0.85rem 1.1rem !important;
	font-size: 0.98rem !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	color: #fff !important;
	background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
	box-shadow: 0 8px 22px var(--bp-glow) !important;
}
.bvp-inv-card-box {
	border-radius: 14px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-elev) !important;
	padding: 1rem 1.1rem !important;
	animation: bvp-card-in 0.22s ease;
}
.bvp-inv-card-box[hidden] { display: none !important; }
@keyframes bvp-card-in {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: translateY(0); }
}
.bvp-inv-card-head {
	display: flex !important;
	gap: 0.75rem !important;
	align-items: flex-start !important;
	margin-bottom: 0.75rem !important;
}
.bvp-inv-card-icon {
	width: 38px !important; height: 38px !important; border-radius: 10px !important;
	background: rgba(59, 130, 246, 0.12) !important;
	border: 1px solid rgba(59, 130, 246, 0.22) !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	font-size: 1.1rem !important;
}
.bvp-inv-card-head strong { display: block !important; margin-bottom: 0.15rem !important; color: var(--bp-text) !important; }
.bvp-inv-card-head p { margin: 0 !important; font-size: 0.82rem !important; color: var(--bp-muted) !important; line-height: 1.5 !important; }
.bvp-inv-card-details {
	background: var(--bp-bg-soft) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: 10px !important;
	padding: 0.75rem 0.9rem !important;
	margin-bottom: 0.75rem !important;
}
.bvp-inv-card-num {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.65rem !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.03em !important;
	font-family: ui-monospace, monospace !important;
	color: var(--bp-text) !important;
}
.bvp-inv-copy {
	border: 1px solid var(--bp-border) !important;
	background: rgba(59, 130, 246, 0.12) !important;
	color: var(--bp-primary-2) !important;
	border-radius: 8px !important;
	padding: 0.22rem 0.5rem !important;
	font-size: 0.75rem !important;
	cursor: pointer !important;
	font-weight: 600 !important;
}
.bvp-inv-card-holder, .bvp-inv-card-amount {
	margin: 0.4rem 0 0 !important;
	font-size: 0.85rem !important;
	color: var(--bp-muted) !important;
}
.bvp-inv-card-fields {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0.65rem !important;
	margin-bottom: 0.65rem !important;
}
@media (max-width: 640px) {
	.bvp-inv-card-fields { grid-template-columns: 1fr !important; }
}
/* Tracking number – same panel form style + !important so theme cannot override */
.bvp-inv-card-form .bvp-fg {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.35rem !important;
	margin-bottom: 0 !important;
	width: 100% !important;
}
.bvp-inv-card-form .bvp-fl {
	display: block !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	color: var(--bp-muted) !important;
	margin: 0 !important;
}
.bvp-card-ref-input,
.bvp-inv-card-form input[name="card_ref"],
#bvp-card-ref {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	padding: 0.7rem 0.9rem !important;
	border-radius: 12px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-soft) !important;
	color: var(--bp-text) !important;
	font: inherit !important;
	font-size: 0.9rem !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: normal !important;
	direction: ltr !important;
	text-align: left !important;
	outline: none !important;
	box-shadow: none !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.bvp-card-ref-input:focus,
.bvp-inv-card-form input[name="card_ref"]:focus,
#bvp-card-ref:focus {
	border-color: rgba(59, 130, 246, 0.55) !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15) !important;
	background: var(--bp-bg-soft) !important;
}
.bvp-inv-file {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 40px !important;
	border: 1px dashed var(--bp-border) !important;
	border-radius: 10px !important;
	background: var(--bp-bg-soft) !important;
	cursor: pointer !important;
	font-size: 0.82rem !important;
	color: var(--bp-muted) !important;
	position: relative !important;
	overflow: hidden !important;
}
.bvp-inv-file input { position: absolute !important; inset: 0 !important; opacity: 0 !important; cursor: pointer !important; }
.bvp-inv-card-submit {
	width: 100% !important;
	border: 1px solid rgba(59, 130, 246, 0.35) !important;
	border-radius: 10px !important;
	padding: 0.7rem 1rem !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	color: var(--bp-primary-2) !important;
	background: rgba(59, 130, 246, 0.12) !important;
}
.bvp-inv-card-submit:hover { background: rgba(59, 130, 246, 0.2) !important; }

.bvp-inv-await {
	display: flex !important;
	gap: 0.75rem !important;
	align-items: flex-start !important;
	padding: 0.9rem 1rem !important;
	border-radius: 12px !important;
	background: rgba(251, 191, 36, 0.08) !important;
	border: 1px solid rgba(251, 191, 36, 0.22) !important;
	margin-bottom: 1rem !important;
}
.bvp-inv-await-icon { font-size: 1.25rem !important; }
.bvp-inv-await strong { display: block !important; margin-bottom: 0.15rem !important; color: var(--bp-text) !important; }
.bvp-inv-await p { margin: 0 !important; font-size: 0.85rem !important; color: var(--bp-muted) !important; }

/* ========== Print: professional paper invoice ========== */
@media print {
	@page {
		size: A4;
		margin: 12mm 14mm 14mm 14mm;
	}

	/* Reset page chrome so content can flow */
	html.bluevps-panel-page,
	body.bluevps-panel-page,
	html, body {
		background: #fff !important;
		color: #111 !important;
		margin: 0 !important;
		padding: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
		font-family: "Vazirmatn", "IRANSans", "Tahoma", "Segoe UI", sans-serif !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	/* Hide WordPress & panel chrome */
	#wpadminbar,
	.bvp-panel-sidebar,
	.bvp-panel-topbar,
	.bvp-panel-backdrop,
	.bvp-mobile-nav,
	.bvp-toast-stack,
	.bvp-impersonate-bar,
	.bvp-no-print,
	.bvp-flash,
	.bvp-inv-pay-zone,
	.bvp-inv-await,
	.bvp-inv-card-box,
	.bvp-page-bar {
		display: none !important;
	}

	/* Flatten layout containers so invoice is not clipped */
	.bvp-panel-root,
	.bvp-panel-main,
	.bvp-panel-content,
	.bvp-mod {
		display: block !important;
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0 !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		background: #fff !important;
		box-shadow: none !important;
		border: none !important;
		flex: none !important;
	}

	/* Invoice sheet itself */
	.bvp-inv-sheet {
		display: block !important;
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		border: 1.5px solid #1a1a1a !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		color: #111 !important;
		overflow: visible !important;
	}

	/* Header band */
	.bvp-inv-sheet-top {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		background: #0f172a !important;
		color: #fff !important;
		border-bottom: none !important;
		padding: 16px 18px !important;
		margin: 0 !important;
	}
	.bvp-inv-brand { display: flex !important; align-items: center !important; gap: 10px !important; }
	.bvp-inv-brand-mark {
		background: #fff !important;
		color: #0f172a !important;
		border: none !important;
		width: 42px !important;
		height: 42px !important;
		border-radius: 10px !important;
		font-weight: 800 !important;
		font-size: 16pt !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	.bvp-inv-brand-name {
		color: #fff !important;
		font-size: 15pt !important;
		font-weight: 800 !important;
		letter-spacing: -0.01em !important;
	}
	.bvp-inv-brand-sub {
		color: rgba(255,255,255,0.75) !important;
		font-size: 9pt !important;
		display: block !important;
		margin-top: 2px !important;
	}
	.bvp-inv-sheet-meta {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-end !important;
		gap: 6px !important;
	}
	.bvp-inv-num {
		color: #fff !important;
		font-size: 13pt !important;
		font-weight: 700 !important;
		font-variant-numeric: tabular-nums !important;
	}
	.bvp-inv-status-badge {
		background: #fff !important;
		color: #0f172a !important;
		border: none !important;
		border-radius: 4px !important;
		font-size: 8.5pt !important;
		font-weight: 700 !important;
		padding: 3px 10px !important;
	}

	/* Info grid */
	.bvp-inv-sheet-info {
		display: grid !important;
		grid-template-columns: repeat(4, 1fr) !important;
		gap: 0 !important;
		background: #f8fafc !important;
		border: none !important;
		border-bottom: 1px solid #e2e8f0 !important;
		border-radius: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	.bvp-inv-info-block {
		padding: 12px 14px !important;
		border-left: 1px solid #e2e8f0 !important;
	}
	.bvp-inv-info-block:last-child { border-left: none !important; }
	.bvp-inv-info-k {
		color: #64748b !important;
		font-size: 8pt !important;
		font-weight: 600 !important;
		display: block !important;
		margin-bottom: 3px !important;
	}
	.bvp-inv-info-v {
		color: #0f172a !important;
		font-size: 10.5pt !important;
		font-weight: 700 !important;
		display: block !important;
	}
	.bvp-inv-info-s {
		color: #475569 !important;
		font-size: 8pt !important;
		display: block !important;
		margin-top: 2px !important;
	}

	/* Items table */
	.bvp-inv-sheet-items {
		padding: 14px 16px 8px !important;
	}
	.bvp-inv-table {
		width: 100% !important;
		border-collapse: collapse !important;
	}
	.bvp-inv-table thead { background: #f1f5f9 !important; }
	.bvp-inv-table th {
		color: #0f172a !important;
		border-bottom: 2px solid #0f172a !important;
		font-size: 9pt !important;
		font-weight: 700 !important;
		padding: 9px 8px !important;
		background: #f1f5f9 !important;
		text-align: right !important;
	}
	.bvp-inv-table th.bvp-inv-col-amt { text-align: left !important; }
	.bvp-inv-table td {
		color: #1e293b !important;
		border-bottom: 1px solid #e2e8f0 !important;
		font-size: 10pt !important;
		padding: 10px 8px !important;
		vertical-align: middle !important;
	}
	.bvp-inv-table tbody tr:nth-child(even) td {
		background: #f8fafc !important;
	}
	.bvp-inv-col-n {
		color: #94a3b8 !important;
		width: 28px !important;
		font-weight: 600 !important;
	}
	.bvp-inv-col-amt {
		color: #0f172a !important;
		font-weight: 700 !important;
		text-align: left !important;
		font-variant-numeric: tabular-nums !important;
		white-space: nowrap !important;
	}

	/* Totals */
	.bvp-inv-sheet-foot {
		border-top: none !important;
		padding: 6px 16px 18px !important;
		justify-content: flex-end !important;
		display: flex !important;
	}
	.bvp-inv-sums {
		background: #f8fafc !important;
		border: 1.5px solid #0f172a !important;
		border-radius: 0 !important;
		min-width: 240px !important;
		padding: 10px 14px !important;
	}
	.bvp-inv-sum-row {
		color: #334155 !important;
		font-size: 10pt !important;
		padding: 4px 0 !important;
		display: flex !important;
		justify-content: space-between !important;
		gap: 1.5rem !important;
	}
	.bvp-inv-sum-row.is-disc { color: #b45309 !important; }
	.bvp-inv-sum-row.is-grand {
		color: #0f172a !important;
		border-top: 2px solid #0f172a !important;
		margin-top: 6px !important;
		padding-top: 8px !important;
		font-size: 12.5pt !important;
		font-weight: 800 !important;
	}

	/* Footer stamp */
	.bvp-inv-sheet::after {
		content: "این فاکتور به‌صورت الکترونیکی صادر شده و نیازی به مهر و امضا ندارد.";
		display: block !important;
		margin: 0 16px 14px !important;
		padding: 12px 0 0 !important;
		border-top: 1px dashed #94a3b8 !important;
		font-size: 8pt !important;
		color: #64748b !important;
		text-align: center !important;
	}
}

/* ========== Payment return / result page ========== */
.bvp-pay-result-wrap {
	display: flex !important;
	justify-content: center !important;
	align-items: flex-start !important;
	padding: 1.5rem 0 2rem !important;
}
.bvp-pay-result {
	width: 100% !important;
	max-width: 440px !important;
	margin: 0 auto !important;
	padding: 2rem 1.5rem 1.6rem !important;
	border-radius: 18px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-bg-elev) !important;
	box-shadow: var(--bp-shadow) !important;
	text-align: center !important;
}
.bvp-pay-result-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 72px !important;
	height: 72px !important;
	border-radius: 50% !important;
	margin: 0 auto 1.1rem !important;
}
.bvp-pay-result.is-ok .bvp-pay-result-icon {
	color: #22c55e !important;
	background: rgba(34, 197, 94, 0.12) !important;
	border: 1px solid rgba(34, 197, 94, 0.28) !important;
}
.bvp-pay-result.is-err .bvp-pay-result-icon {
	color: #f87171 !important;
	background: rgba(248, 113, 113, 0.12) !important;
	border: 1px solid rgba(248, 113, 113, 0.28) !important;
}
.bvp-pay-result-title {
	margin: 0 0 0.45rem !important;
	font-size: 1.25rem !important;
	font-weight: 800 !important;
	color: var(--bp-text) !important;
	line-height: 1.35 !important;
}
.bvp-pay-result-desc {
	margin: 0 0 1.25rem !important;
	font-size: 0.9rem !important;
	color: var(--bp-muted) !important;
	line-height: 1.65 !important;
}
.bvp-pay-result-meta {
	text-align: right !important;
	background: var(--bp-bg-soft) !important;
	border: 1px solid var(--bp-border) !important;
	border-radius: 12px !important;
	padding: 0.65rem 0.9rem !important;
	margin-bottom: 1.25rem !important;
}
.bvp-pay-result-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 0.75rem !important;
	padding: 0.4rem 0 !important;
	border-bottom: 1px solid var(--bp-border) !important;
	font-size: 0.88rem !important;
}
.bvp-pay-result-row:last-child { border-bottom: none !important; }
.bvp-pay-result-k {
	color: var(--bp-muted) !important;
	font-weight: 500 !important;
}
.bvp-pay-result-v {
	color: var(--bp-text) !important;
	font-weight: 700 !important;
	font-variant-numeric: tabular-nums !important;
}
.bvp-pay-result-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.55rem !important;
	justify-content: center !important;
}
.bvp-pay-result-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.6rem 1.15rem !important;
	border-radius: 10px !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	border: 1px solid transparent !important;
	transition: filter 0.15s ease, background 0.15s ease !important;
}
.bvp-pay-result-btn.is-primary {
	background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
	color: #fff !important;
	box-shadow: 0 6px 16px var(--bp-glow) !important;
}
.bvp-pay-result-btn.is-primary:hover { filter: brightness(1.06) !important; }
.bvp-pay-result-btn.is-ghost {
	background: transparent !important;
	border-color: var(--bp-border) !important;
	color: var(--bp-text) !important;
}
.bvp-pay-result-btn.is-ghost:hover {
	background: var(--bp-bg-soft) !important;
	border-color: rgba(59, 130, 246, 0.4) !important;
}
.bvp-pay-result-hint {
	margin: 1.1rem 0 0 !important;
	font-size: 0.78rem !important;
	color: var(--bp-faint) !important;
	line-height: 1.6 !important;
}

/* ===== Creative location pill (flag + pulse) ===== */
.bvp-loc-pill {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.4rem !important;
	padding: 0.28rem 0.7rem 0.28rem 0.45rem !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, rgba(34, 197, 94, 0.18), rgba(59, 130, 246, 0.12)) !important;
	border: 1px solid rgba(74, 222, 128, 0.35) !important;
	box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.08), 0 4px 14px rgba(34, 197, 94, 0.12) !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: #86efac !important;
	max-width: 100% !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	vertical-align: middle !important;
}
.bvp-loc-pill-flag {
	font-size: 1rem !important;
	line-height: 1 !important;
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
}
.bvp-loc-pill-dot {
	width: 7px !important;
	height: 7px !important;
	border-radius: 50% !important;
	background: #22c55e !important;
	box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55) !important;
	animation: bvp-loc-ping 1.8s ease-out infinite !important;
	flex-shrink: 0 !important;
}
@keyframes bvp-loc-ping {
	0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55); }
	70% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
	100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}
.bvp-loc-pill-text {
	letter-spacing: 0.01em !important;
}
.bvp-loc-pill-sm {
	padding: 0.15rem 0.5rem 0.15rem 0.35rem !important;
	font-size: 0.68rem !important;
	gap: 0.3rem !important;
}
.bvp-loc-pill-sm .bvp-loc-pill-flag { font-size: 0.9rem !important; }
.bvp-loc-pill-sm .bvp-loc-pill-dot { width: 6px !important; height: 6px !important; }

/* Light theme overrides */
.bvp-panel-root[data-theme="light"] .bvp-loc-pill {
	color: #15803d !important;
	background: linear-gradient(135deg, rgba(34, 197, 94, 0.12), rgba(59, 130, 246, 0.08)) !important;
	border-color: rgba(22, 163, 74, 0.28) !important;
}
/* Keep old class as alias if referenced */
.bvp-store-loc-badge {
	display: none !important;
}


/* Store-style filter bar inside panel */
.bvp-mod .bvp-store-filter-bar {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.65rem !important;
	margin-bottom: 1.15rem !important;
	padding: 0.85rem 1rem !important;
	border-radius: 16px !important;
	background: var(--bp-bg-elev, rgba(255,255,255,0.03)) !important;
	border: 1px solid var(--bp-border, rgba(255,255,255,0.08)) !important;
}
.bvp-mod .bvp-store-filter-row {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 0.55rem 0.75rem !important;
}
.bvp-mod .bvp-store-filter-label {
	font-size: 0.72rem !important;
	font-weight: 800 !important;
	color: var(--bp-faint, #64748b) !important;
	min-width: 3.5rem !important;
}
.bvp-mod .bvp-store-chip {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
}
.bvp-mod .bvp-chip-flag svg {
	width: 18px !important;
	height: 12px !important;
	border-radius: 2px !important;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.2) !important;
}
.bvp-mod .bvp-loc-pill-flag {
	display: inline-flex !important;
	align-items: center !important;
	line-height: 0 !important;
}
.bvp-mod .bvp-loc-pill-flag svg {
	width: 18px !important;
	height: 12px !important;
	border-radius: 2.5px !important;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.25) !important;
}
.bvp-mod .bvp-store-chip-loc.is-active {
	background: linear-gradient(135deg, #059669, #10b981) !important;
	color: #fff !important;
	border-color: transparent !important;
}

/* (replaced by full panel catalog styles below) */


/* ===== Panel order page: match store catalog exactly ===== */
.bvp-mod .bvp-store-catalog.bvp-panel-catalog {
	display: grid !important;
	grid-template-columns: 260px 1fr !important;
	gap: 1.35rem !important;
	align-items: start !important;
	margin: 0 0 1.25rem !important;
	padding: 0 !important;
	max-width: none !important;
	width: 100% !important;
}
.bvp-mod .bvp-store-sidebar {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.85rem !important;
	position: sticky !important;
	top: 1rem !important;
}
.bvp-mod .bvp-store-side-card {
	background: var(--bp-bg-elev, rgba(15, 23, 42, 0.92)) !important;
	border: 1px solid var(--bp-border, rgba(148, 163, 184, 0.14)) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	box-shadow: 0 12px 32px rgba(0,0,0,0.12) !important;
}
.bvp-mod .bvp-store-side-head {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	padding: 0.85rem 1rem !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.03em !important;
	color: var(--bp-text) !important;
	border-bottom: 1px solid var(--bp-border) !important;
	background: rgba(255,255,255,0.03) !important;
}
.bvp-mod .bvp-store-side-head svg {
	color: #60a5fa !important;
	flex-shrink: 0 !important;
}
.bvp-mod .bvp-store-side-nav {
	display: flex !important;
	flex-direction: column !important;
	padding: 0.4rem 0 !important;
}
.bvp-mod .bvp-store-side-item {
	display: flex !important;
	align-items: center !important;
	gap: 0.55rem !important;
	padding: 0.7rem 1rem !important;
	color: var(--bp-muted, #94a3b8) !important;
	text-decoration: none !important;
	font-size: 0.86rem !important;
	font-weight: 600 !important;
	border-right: 3px solid transparent !important;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
}
.bvp-mod .bvp-store-side-item:hover {
	background: rgba(59, 130, 246, 0.08) !important;
	color: var(--bp-text) !important;
}
.bvp-mod .bvp-store-side-item.is-active {
	background: linear-gradient(90deg, rgba(59, 130, 246, 0.16), transparent) !important;
	color: var(--bp-text) !important;
	border-right-color: #3b82f6 !important;
}
.bvp-mod .bvp-store-side-loc.is-active {
	border-right-color: #10b981 !important;
	background: linear-gradient(90deg, rgba(16, 185, 129, 0.14), transparent) !important;
}
.bvp-mod .bvp-store-side-ico {
	width: 1.1rem !important;
	text-align: center !important;
	opacity: 0.7 !important;
	font-size: 0.75rem !important;
	flex-shrink: 0 !important;
}
.bvp-mod .bvp-store-side-item.is-active .bvp-store-side-ico {
	opacity: 1 !important;
	color: #60a5fa !important;
}
.bvp-mod .bvp-store-side-text {
	flex: 1 !important;
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}
.bvp-mod .bvp-store-side-count {
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	padding: 0.12rem 0.45rem !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,0.06) !important;
	color: var(--bp-faint, #64748b) !important;
	line-height: 1.3 !important;
}
.bvp-mod .bvp-store-side-item.is-active .bvp-store-side-count {
	background: rgba(59, 130, 246, 0.25) !important;
	color: #93c5fd !important;
}
.bvp-mod .bvp-store-side-item .bvp-chip-flag {
	display: inline-flex !important;
	line-height: 0 !important;
	flex-shrink: 0 !important;
}
.bvp-mod .bvp-store-side-item .bvp-chip-flag svg {
	width: 20px !important;
	height: 13px !important;
	border-radius: 2px !important;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.25) !important;
}
.bvp-mod .bvp-store-side-item .bvp-chip-label {
	flex: 1 !important;
}
.bvp-mod .bvp-store-catalog-main {
	min-width: 0 !important;
}
.bvp-mod .bvp-store-empty {
	color: var(--bp-muted) !important;
	text-align: center !important;
	padding: 2rem 0 !important;
}

/* 3-column product cards like store */
.bvp-mod .bvp-panel-catalog .bvp-plans-grid.bvp-store-plans,
.bvp-mod .bvp-panel-catalog .bvp-plans-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1.15rem !important;
	align-items: stretch !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
}
.bvp-mod .bvp-panel-catalog .bvp-plan-card {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
	padding: 1.2rem 1.25rem !important;
	border-radius: 18px !important;
	border: 1px solid var(--bp-border) !important;
	background: var(--bp-card, var(--bp-bg-elev)) !important;
	box-shadow: 0 10px 28px rgba(0,0,0,0.14) !important;
	height: 100% !important;
	margin: 0 !important;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}
.bvp-mod .bvp-panel-catalog .bvp-plan-card:hover {
	border-color: rgba(59, 130, 246, 0.45) !important;
	transform: translateY(-4px) !important;
	box-shadow: 0 16px 36px rgba(37, 99, 235, 0.15) !important;
}
.bvp-mod .bvp-panel-catalog .bvp-plan-name {
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: var(--bp-text) !important;
	margin: 0 !important;
}
.bvp-mod .bvp-panel-catalog .bvp-price-amount {
	font-size: 1.45rem !important;
	font-weight: 800 !important;
	color: var(--bp-text) !important;
}
.bvp-mod .bvp-panel-catalog .bvp-plan-features {
	flex: 1 !important;
}
.bvp-mod .bvp-panel-catalog .bvp-plan-features li::before {
	content: "✓" !important;
	color: #4ade80 !important;
	font-weight: 700 !important;
}
.bvp-mod .bvp-panel-catalog .bvp-plan-card .bvp-btn,
.bvp-mod .bvp-panel-catalog .bvp-plan-card .bvp-btn-primary {
	margin-top: auto !important;
	width: 100% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.7rem 1rem !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
	color: #fff !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	border: none !important;
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.3) !important;
}
.bvp-mod .bvp-panel-catalog .bvp-plan-card .bvp-btn:hover {
	filter: brightness(1.06) !important;
}

@media (max-width: 1100px) {
	.bvp-mod .bvp-panel-catalog .bvp-plans-grid.bvp-store-plans {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 900px) {
	.bvp-mod .bvp-store-catalog.bvp-panel-catalog {
		grid-template-columns: 1fr !important;
	}
	.bvp-mod .bvp-store-sidebar {
		position: static !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
	}
	.bvp-mod .bvp-store-side-card {
		flex: 1 1 220px !important;
	}
	.bvp-mod .bvp-panel-catalog .bvp-plans-grid.bvp-store-plans {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 560px) {
	.bvp-mod .bvp-panel-catalog .bvp-plans-grid.bvp-store-plans {
		grid-template-columns: 1fr !important;
	}
}


/* Catalog search + resource filters */
.bvp-store-res-form {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.45rem !important;
	padding: 0.85rem 1rem 1rem !important;
}
.bvp-store-res-label {
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	color: #94a3b8 !important;
	margin-top: 0.25rem !important;
}
.bvp-store-res-input,
.bvp-store-res-select {
	width: 100% !important;
	padding: 0.55rem 0.7rem !important;
	border-radius: 10px !important;
	border: 1px solid rgba(148, 163, 184, 0.22) !important;
	background: rgba(2, 6, 23, 0.45) !important;
	color: #e2e8f0 !important;
	font-size: 0.86rem !important;
	box-sizing: border-box !important;
}
.bvp-store-res-btn {
	margin-top: 0.5rem !important;
	padding: 0.6rem 0.85rem !important;
	border-radius: 10px !important;
	border: none !important;
	background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 0.85rem !important;
	cursor: pointer !important;
}
.bvp-store-res-clear {
	text-align: center !important;
	font-size: 0.78rem !important;
	color: #94a3b8 !important;
	text-decoration: none !important;
	padding: 0.25rem !important;
}
.bvp-store-res-clear:hover { color: #e2e8f0 !important; }

.bvp-store-feat-badge,
.bvp-store-pop-badge {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.22rem 0.65rem !important;
	border-radius: 999px !important;
	font-size: 0.7rem !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
}
.bvp-store-feat-badge {
	background: rgba(245, 158, 11, 0.18) !important;
	border: 1px solid rgba(245, 158, 11, 0.4) !important;
	color: #fbbf24 !important;
}
.bvp-store-pop-badge {
	background: rgba(236, 72, 153, 0.16) !important;
	border: 1px solid rgba(236, 72, 153, 0.4) !important;
	color: #f472b6 !important;
}
.bvp-mod .bvp-store-feat-badge {
	background: rgba(245, 158, 11, 0.18) !important;
	border: 1px solid rgba(245, 158, 11, 0.4) !important;
	color: #fbbf24 !important;
}
.bvp-mod .bvp-store-pop-badge {
	background: rgba(236, 72, 153, 0.16) !important;
	border: 1px solid rgba(236, 72, 153, 0.4) !important;
	color: #f472b6 !important;
}
.bvp-mod .bvp-store-res-input,
.bvp-mod .bvp-store-res-select {
	background: var(--bp-bg-soft, rgba(2, 6, 23, 0.35)) !important;
	border-color: var(--bp-border) !important;
	color: var(--bp-text) !important;
}


/* SMS audience labels */
.bvp-sms-section-head {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 0.45rem 0.65rem !important;
	margin-bottom: 0.75rem !important;
	padding-bottom: 0.55rem !important;
	border-bottom: 1px solid var(--bp-border, rgba(148,163,184,0.15)) !important;
}
.bvp-sms-section-head strong {
	font-size: 0.95rem !important;
	color: var(--bp-text) !important;
}
.bvp-sms-section-head small {
	color: var(--bp-muted, #94a3b8) !important;
	font-size: 0.78rem !important;
}
.bvp-sms-audience {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.15rem 0.55rem !important;
	border-radius: 999px !important;
	font-size: 0.68rem !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
}
.bvp-sms-audience.is-user {
	background: rgba(59, 130, 246, 0.16) !important;
	border: 1px solid rgba(59, 130, 246, 0.35) !important;
	color: #93c5fd !important;
}
.bvp-sms-audience.is-admin {
	background: rgba(245, 158, 11, 0.16) !important;
	border: 1px solid rgba(245, 158, 11, 0.4) !important;
	color: #fbbf24 !important;
}
.bvp-sms-on {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 0.4rem !important;
}


/* Sortable table headers */
.bvp-sort-link {
	color: inherit !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.15rem !important;
	white-space: nowrap !important;
}
.bvp-sort-link:hover {
	color: var(--bp-accent, #3b82f6) !important;
}

/* ---- VPS OS picker + server name ---- */
.bvp-os-picker { margin: 0.35rem 0 0.75rem; }
.bvp-os-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 0.65rem;
}
.bvp-os-card {
	background: rgba(15, 23, 42, 0.85);
	border: 1px solid rgba(148, 163, 184, 0.18);
	border-radius: 14px;
	padding: 0.75rem 0.65rem 0.55rem;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.45rem;
	transition: border-color .15s, box-shadow .15s, background .15s;
}
.bvp-os-card.is-active {
	border-color: rgba(59, 130, 246, 0.65);
	box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.35), 0 8px 24px rgba(15, 23, 42, 0.35);
	background: rgba(30, 41, 59, 0.95);
}
.bvp-os-card-main {
	appearance: none;
	background: transparent;
	border: 0;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	padding: 0.15rem;
	color: inherit;
}
.bvp-os-icon {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
}
.bvp-os-icon svg { width: 40px; height: 40px; display: block; }
.bvp-os-name {
	font-size: 0.82rem;
	font-weight: 600;
	color: #e2e8f0;
	text-align: center;
}
.bvp-os-ver-wrap { display: block; }
.bvp-os-ver {
	width: 100%;
	font-size: 0.75rem;
	border-radius: 8px;
	border: 1px solid rgba(148, 163, 184, 0.25);
	background: rgba(2, 6, 23, 0.45);
	color: #cbd5e1;
	padding: 0.35rem 0.4rem;
}
.bvp-os-ver:disabled { opacity: 0.55; }
.bvp-os-hint { margin: 0.4rem 0 0; }

.bvp-server-name {
	display: flex;
	align-items: stretch;
	direction: ltr;
	border: 1px solid rgba(148, 163, 184, 0.25);
	border-radius: 10px;
	overflow: hidden;
	background: rgba(2, 6, 23, 0.35);
	max-width: 320px;
}
.bvp-server-name input {
	flex: 1;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	padding: 0.55rem 0.75rem;
	color: inherit;
	min-width: 0;
}
.bvp-server-name-suffix {
	display: flex;
	align-items: center;
	padding: 0 0.75rem;
	background: rgba(59, 130, 246, 0.15);
	color: #93c5fd;
	font-weight: 700;
	font-size: 0.85rem;
	border-inline-start: 1px solid rgba(148, 163, 184, 0.2);
	white-space: nowrap;
}
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0);
	white-space: nowrap; border: 0;
}

/* ---- Hardware resource cards ---- */
.bvp-hw-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 0.65rem;
	margin: 0.75rem 0 1rem;
}
.bvp-hw-card {
	position: relative;
	border-radius: 14px;
	padding: 0.85rem 0.75rem 0.7rem;
	border: 1px solid rgba(148, 163, 184, 0.16);
	background: linear-gradient(160deg, rgba(30, 41, 59, 0.95), rgba(15, 23, 42, 0.9));
	overflow: hidden;
	transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.bvp-hw-card::before {
	content: '';
	position: absolute;
	inset: 0 auto auto 0;
	width: 100%;
	height: 2px;
	opacity: 0.9;
}
.bvp-hw-card.is-blue::before { background: linear-gradient(90deg, #3b82f6, #60a5fa); }
.bvp-hw-card.is-violet::before { background: linear-gradient(90deg, #8b5cf6, #a78bfa); }
.bvp-hw-card.is-emerald::before { background: linear-gradient(90deg, #10b981, #34d399); }
.bvp-hw-card.is-amber::before { background: linear-gradient(90deg, #f59e0b, #fbbf24); }
.bvp-hw-card.is-blue { box-shadow: 0 8px 24px rgba(59, 130, 246, 0.08); }
.bvp-hw-card.is-violet { box-shadow: 0 8px 24px rgba(139, 92, 246, 0.08); }
.bvp-hw-card.is-emerald { box-shadow: 0 8px 24px rgba(16, 185, 129, 0.08); }
.bvp-hw-card.is-amber { box-shadow: 0 8px 24px rgba(245, 158, 11, 0.08); }
.bvp-hw-card:hover {
	transform: translateY(-2px);
	border-color: rgba(148, 163, 184, 0.28);
}
.bvp-hw-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.55rem;
}
.bvp-hw-ico {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: 8px;
	background: rgba(255,255,255,0.06);
}
.bvp-hw-ico svg { width: 16px; height: 16px; }
.bvp-hw-card.is-blue .bvp-hw-ico { color: #60a5fa; }
.bvp-hw-card.is-violet .bvp-hw-ico { color: #a78bfa; }
.bvp-hw-card.is-emerald .bvp-hw-ico { color: #34d399; }
.bvp-hw-card.is-amber .bvp-hw-ico { color: #fbbf24; }
.bvp-hw-tag {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	opacity: 0.55;
	font-family: ui-monospace, monospace;
}
.bvp-hw-val {
	font-size: 1.05rem;
	font-weight: 700;
	color: #f1f5f9;
	line-height: 1.25;
	margin-bottom: 0.2rem;
	word-break: break-word;
}
.bvp-hw-label {
	font-size: 0.72rem;
	color: #94a3b8;
}

/* Service detail info grid */
.bvp-usvc-info {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0.55rem;
	margin: 0.35rem 0 0.85rem;
}
.bvp-usvc-info-item {
	background: rgba(15, 23, 42, 0.45);
	border: 1px solid rgba(148, 163, 184, 0.12);
	border-radius: 12px;
	padding: 0.65rem 0.75rem;
}
.bvp-usvc-info-k {
	display: block;
	font-size: 0.7rem;
	color: #94a3b8;
	margin-bottom: 0.25rem;
}
.bvp-usvc-info-v {
	display: block;
	font-size: 0.9rem;
	font-weight: 600;
	color: #e2e8f0;
	word-break: break-all;
}
.bvp-usvc-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.35rem;
}
