.rau-cp-form {
	max-width: 1200px;
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 20px 0;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	padding: 26px;
}
.rau-cp-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.rau-cp-form label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 600;
	color: #333;
	font-size: .95em;
}
.rau-cp-form input,
.rau-cp-form select,
.rau-cp-form textarea {
	font-weight: 400;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 1em;
	font-family: inherit;
	background: #fafafa;
}
.rau-cp-form textarea { resize: vertical; }

.rau-cp-lineas-wrap { display: flex; flex-direction: column; gap: 10px; }
.rau-cp-lineas-wrap h3 { margin: 0; font-size: 1em; color: #333; }
.rau-cp-linea-fila {
	display: grid;
	grid-template-columns: 1.4fr 1.6fr 90px 110px 32px;
	gap: 8px;
	align-items: center;
}
.rau-cp-linea-header {
	font-size: .78em;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: #777;
	font-weight: 600;
}
.rau-cp-linea-fila select,
.rau-cp-linea-fila input { margin: 0; }
.rau-cp-concepto-combo { display: block; }
.rau-cp-concepto-combo .rau-cp-input-concepto { width: 100%; }
.rau-cp-quitar-fila {
	background: #fdecea;
	color: #b3261e;
	border: none;
	border-radius: 6px;
	width: 32px;
	height: 38px;
	cursor: pointer;
	font-weight: 700;
}
.rau-cp-quitar-fila:hover { background: #f7cfcb; }
#rau-cp-anadir-fila,
#rau-cp-calcular-total {
	align-self: flex-start;
	background: none;
	border: 1px dashed #2b6cb0;
	color: #2b6cb0;
	border-radius: 6px;
	padding: 8px 14px;
	cursor: pointer;
	font-weight: 600;
	margin-right: 8px;
}
#rau-cp-anadir-fila:hover,
#rau-cp-calcular-total:hover { background: #eaf2fa; }

.rau-cp-desglose {
	margin-top: 6px;
	background: #f7f8fa;
	border-radius: 8px;
	padding: 14px 18px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	max-width: 320px;
}
.rau-cp-desglose-fila { display: flex; justify-content: space-between; font-size: .92em; color: #444; }
.rau-cp-desglose-total { border-top: 1px solid #ddd; padding-top: 6px; margin-top: 2px; font-size: 1em; color: #222; }
.rau-cp-desglose-total strong { color: #2b6cb0; }

.rau-cp-form button[type="submit"] {
	align-self: flex-start;
	padding: 12px 28px;
	background: #2b6cb0;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-weight: 600;
	cursor: pointer;
}
.rau-cp-form button[type="submit"]:hover { background: #1f4e80; }

.rau-cp-success { background: #e6f4ea; color: #1e7e34; border-radius: 6px; padding: 12px 16px; margin-bottom: 16px; }
.rau-cp-error { background: #fdecea; color: #b3261e; border-radius: 6px; padding: 12px 16px; margin-bottom: 16px; }

@media (max-width: 700px) {
	.rau-cp-grid { grid-template-columns: 1fr; }
	.rau-cp-linea-fila { grid-template-columns: 1fr; }
	.rau-cp-linea-header { display: none; }
}
