.cle-qrgen { width: 100%; max-width: none; margin: 0; }

.cle-qrgen-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 16px;
}

.cle-qrgen-card {
	background: #f2f2f2;
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 15px;
	padding: 18px 16px;
	cursor: pointer;
	text-align: left;
	display: flex;
	align-items: center;
	gap: 12px;
	transition: transform .12s ease, box-shadow .12s ease;
}

.cle-qrgen-card:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,.06); }
.cle-qrgen-card.is-active { outline: 2px solid rgba(0,0,0,0.35); }

.cle-qrgen-icon { font-size: 22px; }
.cle-qrgen-card-title { font-weight: 600; }

.cle-qrgen-panel {
	background: transparent;
}

.cle-qrgen-panel-grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 16px;
	align-items: start;
}

.cle-qrgen-section { margin-bottom: 14px; }

.cle-qrgen-label { display: block; font-weight: 600; margin: 0 0 6px; }

.cle-qrgen-input,
.cle-qrgen-textarea {
  width: 100%;
  background: #f2f2f2;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 15px;
  padding: 10px;
  outline: none;
  box-sizing: border-box;
}

.cle-qrgen-input {
  height: 40px;
  line-height: 20px;
}


.cle-qrgen-textarea { resize: vertical; }

.cle-qrgen-grid-2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 12px;
	margin-bottom: 12px;
}

.cle-qrgen-grid-3 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 12px;
	margin-bottom: 12px;
}

.cle-qrgen-radio {
	display: flex;
	gap: 14px;
	background: #f2f2f2;
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 15px;
	padding: 10px 12px;
}

.cle-qrgen-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 8px;
}

.cle-qrgen-btn {
	background: #f2f2f2;
	border: 1px solid rgba(0,0,0,0.12);
	border-radius: 15px;
	padding: 10px 15px;
	cursor: pointer;
	font-weight: 600;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.cle-qrgen-btn:hover {
	background: #000;
	color: #fff;
	border-color: #000;
}

.cle-qrgen-preview-box {
	background: #f2f2f2;
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 15px;
	padding: 14px;
}

.cle-qrgen-preview-title { font-weight: 700; margin-bottom: 10px; }

.cle-qrgen-preview-canvas {
	display: grid;
	place-items: center;
	min-height: 260px;
	overflow: auto;
}

.cle-qrgen-hint { opacity: .75; margin-top: 10px; }

.cle-qrgen-error {
	margin-top: 12px;
	padding: 12px 14px;
	border-radius: 15px;
	background: #fff3f3;
	border: 1px solid rgba(255,0,0,0.15);
	color: #7a0000;
}

@media (max-width: 860px) {
	.cle-qrgen-panel-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	.cle-qrgen-cards { grid-template-columns: 1fr; }
	.cle-qrgen-grid-2, .cle-qrgen-grid-3 { grid-template-columns: 1fr; }
}
