.wccsp-login-wrapper {
	max-width: 420px;
	margin: 40px auto;
	padding: 24px;
	border: 1px solid #ddd;
	border-radius: 10px;
	background: #fff;
}

.wccsp-login-wrapper h2 {
	margin-bottom: 20px;
}

.wccsp-login-form p {
	margin-bottom: 16px;
}

.wccsp-login-form label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}

.wccsp-login-form input[type="text"],
.wccsp-login-form input[type="password"] {
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 6px;
}

.wccsp-login-form button {
	padding: 10px 18px;
	border: 0;
	border-radius: 6px;
	cursor: pointer;
}

.wccsp-error {
	margin-bottom: 16px;
	padding: 10px 12px;
	border-radius: 6px;
	background: #fdecea;
	color: #b42318;
}

.wccsp-dashboard {
	max-width: 900px;
	margin: 40px auto;
	padding: 24px;
	background: #fff;
	border-radius: 10px;
	border: 1px solid #ddd;
}

.wccsp-dashboard h1 {
	margin-bottom: 10px;
}

.wccsp-portal-layout {
	display: flex;
	min-height: 100vh;
	background: #f5f7fa;
}

.wccsp-portal-sidebar {
	width: 25%;
	min-width: 260px;
	background: #111;
	color: #fff;
}

.wccsp-portal-sidebar-inner {
	padding: 32px 24px;
}

.wccsp-portal-title {
	margin: 0 0 12px;
	font-size: 24px;
	color: #78a82c;
}

.wccsp-portal-user {
	margin: 0 0 24px;
	font-size: 14px;
	color: #d1d5db;
}

.wccsp-portal-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.wccsp-portal-nav li {
	margin-bottom: 10px;
}

.wccsp-portal-nav a {
	display: block;
	padding: 12px 14px;
	border-radius: 8px;
	text-decoration: none;
	background: transparent;
	color: #e5e7eb;
	transition: all 0.2s ease;
}

.wccsp-portal-nav a:hover {
	background: rgba(120, 168, 44, 0.15);
	color: #78a82c;
}

.wccsp-portal-nav a.active {
	background: #78a82c;
	color: #fff;
}

.wccsp-portal-content {
	width: 75%;
	padding: 32px;
	background: #f7f9f5; /* subtle green tint */
}

.wccsp-portal-content-inner {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 32px;
	min-height: calc(100vh - 64px);
	box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

.wccsp-portal-content-inner h1 {
	margin-top: 0;
	margin-bottom: 16px;
	color: #111;
}

.wccsp-btn {
	display: inline-block;
	padding: 10px 16px;
	border-radius: 6px;
	background: #78a82c;
	color: #fff;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: background 0.2s ease;
}

.wccsp-btn:hover {
	background: #5f8d20;
}

.weclean-clients-grid {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 20px;
	align-items: start;
}

.weclean-card {
	background: #fff;
	border: 1px solid #ddd;
	padding: 20px;
	border-radius: 8px;
	box-sizing: border-box;
}

.weclean-card h3 {
	margin-top: 0;
}

.weclean-card table {
	width: 100%;
}

.weclean-card .button-link-delete {
	color: #b32d2e;
}

.weclean-logo-field img {
	border: 1px solid #ddd;
	padding: 6px;
	background: #fff;
	border-radius: 6px;
}

#weclean-logo-preview img {
	max-width: 120px;
	height: auto;
}

@media (max-width: 900px) {
	.weclean-clients-grid {
		grid-template-columns: 1fr;
	}

	.wccsp-portal-layout {
		flex-direction: column;
	}

	.wccsp-portal-sidebar,
	.wccsp-portal-content {
		width: 100%;
		min-width: 100%;
	}
}