.opr-fisicas {
	border: 1px solid #e3e3e3;
	border-radius: 10px;
	padding: 20px;
	margin: 16px 0;
	background: #fff;
}
.opr-fisicas h3 {
	margin-top: 0;
}
.opr-fisicas .opr-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-end;
}
.opr-fisicas label {
	display: flex;
	flex-direction: column;
	font-size: 0.9em;
	gap: 4px;
}
.opr-fisicas select,
.opr-fisicas input {
	padding: 8px;
	border: 1px solid #ccc;
	border-radius: 6px;
	min-width: 140px;
}
.opr-fisicas button {
	padding: 9px 18px;
	border: 0;
	border-radius: 6px;
	background: #1f6feb;
	color: #fff;
	cursor: pointer;
}
.opr-fisicas button:hover {
	background: #1a5fd0;
}
.opr-fisicas .opr-resultado,
.opr-fisicas .opr-aviso {
	margin-top: 12px;
	font-weight: 600;
}
.opr-historico {
	width: 100%;
	border-collapse: collapse;
	margin-top: 16px;
}
.opr-historico th,
.opr-historico td {
	border-bottom: 1px solid #eee;
	padding: 8px;
	text-align: left;
	font-size: 0.9em;
}
.opr-restriction-notice {
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 24px;
	text-align: center;
	background: #fafafa;
}
.opr-cards {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 12px 0;
}
.opr-card {
	flex: 1 1 120px;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 16px;
	border: 1px solid #eee;
	border-radius: 10px;
	background: #f8fbff;
}
.opr-card-value {
	font-size: 1.6em;
	font-weight: 700;
	color: #1f6feb;
}
.opr-card-label {
	font-size: 0.85em;
	color: #555;
	margin-top: 4px;
}
.opr-upsell {
	margin-top: 16px;
	padding: 14px;
	border: 1px dashed #c9c9c9;
	border-radius: 8px;
	background: #fafafa;
}
