.pvbc-wrap {
	max-width: 960px;
	margin: 0 auto;
	font-family: inherit;
	color: #222;
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	padding: 24px 28px 32px;
	box-sizing: border-box;
}
.pvbc-wrap * { box-sizing: border-box; }
.pvbc-title {
	margin-top: 0;
	font-size: 1.5em;
	color: #1a3c34;
}
.pvbc-section {
	margin-bottom: 26px;
	padding-bottom: 20px;
	border-bottom: 1px solid #eee;
}
.pvbc-section:last-of-type { border-bottom: none; }
.pvbc-section h3 {
	margin-bottom: 6px;
	color: #1a3c34;
}
.pvbc-note {
	font-size: 0.9em;
	color: #666;
	margin-top: 0;
}
.pvbc-row {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 12px;
}
.pvbc-field {
	flex: 1 1 200px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.pvbc-field label {
	font-size: 0.85em;
	font-weight: 600;
	color: #444;
}
.pvbc-field input,
.pvbc-field select {
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 1em;
	width: 100%;
}
.pvbc-field-btn {
	justify-content: flex-end;
}
.pvbc-helper-row {
	align-items: flex-end;
}
.pvbc-advanced {
	margin-top: 16px;
	border: 1px dashed #ddd;
	border-radius: 6px;
	padding: 10px 14px;
}
.pvbc-advanced summary {
	cursor: pointer;
	font-weight: 600;
	color: #1a3c34;
}
.pvbc-device-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-end;
	background: #f7f9f8;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: 12px;
	margin-bottom: 10px;
}
.pvbc-device-row .pvbc-field { flex: 1 1 150px; }
.pvbc-btn {
	cursor: pointer;
	border: none;
	border-radius: 6px;
	padding: 10px 18px;
	font-size: 1em;
	font-weight: 600;
}
.pvbc-btn-primary {
	background: #1a7f4b;
	color: #fff;
}
.pvbc-btn-primary:hover { background: #156a3e; }
.pvbc-btn-secondary {
	background: #eef3f1;
	color: #1a3c34;
	border: 1px solid #cdd9d4;
}
.pvbc-btn-secondary:hover { background: #dfe9e5; }
.pvbc-btn-remove {
	background: #fdeceb;
	color: #b0261a;
	border: 1px solid #f3c9c5;
	padding: 8px 12px;
	align-self: center;
}
.pvbc-btn-remove:hover { background: #f9d9d6; }

.pvbc-results {
	margin-top: 10px;
	background: #f2f8f5;
	border: 1px solid #cfe6da;
	border-radius: 10px;
	padding: 20px 24px;
}
.pvbc-results h3 {
	margin-top: 0;
	color: #1a3c34;
}
.pvbc-kpi-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 14px 0 20px;
}
.pvbc-kpi {
	flex: 1 1 180px;
	background: #fff;
	border: 1px solid #d7e6de;
	border-radius: 8px;
	padding: 14px 16px;
}
.pvbc-kpi .pvbc-kpi-label {
	font-size: 0.8em;
	color: #666;
	display: block;
	margin-bottom: 4px;
}
.pvbc-kpi .pvbc-kpi-value {
	font-size: 1.4em;
	font-weight: 700;
	color: #1a7f4b;
}
.pvbc-kpi .pvbc-kpi-unit {
	font-size: 0.55em;
	font-weight: 500;
	color: #444;
	margin-left: 4px;
}
.pvbc-results table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 10px;
	font-size: 0.92em;
}
.pvbc-results th, .pvbc-results td {
	text-align: right;
	padding: 6px 10px;
	border-bottom: 1px solid #e0ece6;
}
.pvbc-results th:first-child, .pvbc-results td:first-child { text-align: left; }
.pvbc-results thead th {
	background: #e4f0ea;
	color: #1a3c34;
}
.pvbc-row-breakeven td {
	background: #d7f0de;
	font-weight: 700;
}
.pvbc-disclaimer {
	font-size: 0.8em;
	color: #777;
	margin-top: 16px;
}

.pvbc-contact-section {
	background: #f7f9f8;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	padding: 18px 20px;
}
.pvbc-field-checkbox {
	flex: 1 1 100%;
}
.pvbc-checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-weight: 500;
	font-size: 0.92em;
	color: #333;
}
.pvbc-checkbox-label input[type="checkbox"] {
	width: auto;
	margin-top: 3px;
}
.pvbc-turnstile {
	margin: 14px 0;
}
.pvbc-note-warning {
	color: #9a5a00;
	background: #fff6e5;
	border: 1px solid #f0dca6;
	border-radius: 6px;
	padding: 8px 12px;
}
.pvbc-summary-preview {
	width: 100%;
	font-family: monospace;
	font-size: 0.85em;
	padding: 8px;
	border: 1px solid #ccc;
	border-radius: 6px;
	background: #fff;
}
.pvbc-send-status {
	margin-top: 10px;
	font-weight: 600;
}
.pvbc-status-success { color: #1a7f4b; }
.pvbc-status-error { color: #b0261a; }
