:root {
	--trucrm-primary: #7c3aed;
	--trucrm-primary-dark: #5b21b6;
	--trucrm-accent: #ec4899;
	--trucrm-bg: #f5f3ff;
	--trucrm-surface: #ffffff;
	--trucrm-text: #111827;
	--trucrm-muted: #6b7280;
	--trucrm-border: #e9d5ff;
	--trucrm-shadow: 0 18px 50px rgba(91, 33, 182, 0.12);
}

body,
body.for-login,
body[data-path="login"],
.page-card-layout,
.page-card-container,
.page-card-head,
.page-card,
.login-content,
.login-wrapper {
	background: linear-gradient(180deg, #faf5ff 0%, #eff6ff 100%) !important;
	color: var(--trucrm-text) !important;
}

footer,
.page-footer,
.powered-by,
.app-footer,
.website-footer,
.navbar .navbar-brand[href*="frappe"],
.navbar-home[href*="frappe"],
a[href*="frappe.io"],
a[href*="frappeframework.com"] {
	display: none !important;
}

.navbar {
	background: rgba(255, 255, 255, 0.78) !important;
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(124, 58, 237, 0.08) !important;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.navbar .container {
	max-width: 1280px !important;
}

.navbar-brand,
.navbar-home {
	font-weight: 700 !important;
	color: var(--trucrm-text) !important;
	letter-spacing: -0.02em;
}

.for-login .page-card-container,
.page-card-container {
	max-width: 420px !important;
}

.for-login .page-card,
.page-card {
	border: 1px solid rgba(124, 58, 237, 0.10) !important;
	border-radius: 24px !important;
	background: rgba(255, 255, 255, 0.94) !important;
	box-shadow: var(--trucrm-shadow) !important;
	padding: 28px 28px 24px !important;
	position: relative;
	overflow: hidden;
}

.for-login .page-card::before,
.page-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
	background: linear-gradient(90deg, var(--trucrm-primary), var(--trucrm-accent));
}

.page-card-head,
.login-content .page-card-head {
	background: transparent !important;
	border: 0 !important;
	padding-bottom: 10px !important;
}

.page-card-head img,
.page-card-head .app-logo,
.page-card-head .brand-logo {
	display: none !important;
}

.trucrm-login-brand img {
	display: inline-block !important;
	max-height: 42px !important;
	width: auto !important;
}

.page-card-head::after {
	content: "Welcome to TruCRM";
	display: block;
	margin-top: 10px;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 800;
	color: var(--trucrm-text);
	letter-spacing: -0.03em;
	text-align: center;
}

.page-card-head h4,
.page-card-head .title,
.login-content h4 {
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
}

.page-card-head h4::after,
.page-card-head .title::after,
.login-content h4::after {
	content: "Login to TruCRM";
	font-size: 16px;
	line-height: 1.4;
	color: #111827;
	font-weight: 800;
	display: block;
	text-align: center;
}

.for-login .page-card .text-muted,
.page-card .text-muted,
.page-card small,
.page-card .small {
	color: var(--trucrm-muted) !important;
}

.page-card input,
.page-card select,
.page-card textarea,
.page-card .form-control {
	border-radius: 14px !important;
	border: 1px solid #ddd6fe !important;
	background: #fff !important;
	min-height: 44px !important;
	box-shadow: none !important;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.page-card input:focus,
.page-card select:focus,
.page-card textarea:focus,
.page-card .form-control:focus {
	border-color: rgba(124, 58, 237, 0.55) !important;
	box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.10) !important;
}

.btn-primary,
.page-card .btn-primary,
.login-content .btn-primary {
	background: linear-gradient(135deg, var(--trucrm-primary), var(--trucrm-primary-dark)) !important;
	border: 0 !important;
	border-radius: 14px !important;
	min-height: 44px;
	font-weight: 700 !important;
	box-shadow: 0 10px 24px rgba(124, 58, 237, 0.20) !important;
}

.btn-primary:hover,
.page-card .btn-primary:hover {
	transform: translateY(-1px);
	filter: brightness(1.02);
}

.page-card a,
.login-content a,
.website-content a {
	color: var(--trucrm-primary-dark) !important;
	font-weight: 600;
}

.page-card a:hover,
.login-content a:hover,
.website-content a:hover {
	color: var(--trucrm-accent) !important;
	text-decoration: none;
}

.alert,
.message,
.page-card .indicator {
	border-radius: 14px !important;
}

.page-card .page-card-actions,
.page-card .sign-up-message,
.page-card .forgot-password-message {
	border-top: 1px solid #f3e8ff;
	margin-top: 18px;
	padding-top: 16px;
}

.standard-sidebar,
.layout-side-section,
.page-breadcrumbs,
.breadcrumb-container {
	display: none !important;
}

.hero,
.section,
.web-page-content,
.website-content,
.page_content {
	color: var(--trucrm-text) !important;
}

.modal-content {
	border-radius: 20px !important;
	border: 1px solid rgba(124, 58, 237, 0.08) !important;
	box-shadow: var(--trucrm-shadow) !important;
}

@media (max-width: 768px) {
	.page-card-container {
		max-width: calc(100vw - 24px) !important;
		padding: 12px !important;
	}

	.for-login .page-card,
	.page-card {
		padding: 22px 18px !important;
		border-radius: 20px !important;
	}

	.page-card-head::after {
		font-size: 22px;
	}
}

